104 lines
2.6 KiB
YAML
104 lines
2.6 KiB
YAML
---
|
|
# TODO: Add to bootstrapping role / make less dependent on apt-get & debian (python3)
|
|
- name: Bootstrap python everywhere
|
|
hosts: all
|
|
gather_facts: False
|
|
become: true
|
|
tags:
|
|
- bootstrap
|
|
tasks:
|
|
- name: check for python
|
|
ansible.builtin.raw: python3 --version
|
|
changed_when: false
|
|
failed_when: false
|
|
register: pythoncheck
|
|
- name: install debian python
|
|
ansible.builtin.raw: apt-get update && apt-get install python3 -y
|
|
when: not ansible_check_mode and pythoncheck.rc == 127
|
|
- name: pretend installing debian python for check mode
|
|
ansible.builtin.debug:
|
|
msg: Pretending to install python...
|
|
when: ansible_check_mode
|
|
|
|
- name: Prepare incus server host
|
|
hosts: host_system
|
|
tasks:
|
|
- name: Prepare host filesystems
|
|
ansible.builtin.import_role:
|
|
name: filesystem
|
|
tags: filesystem
|
|
|
|
- name: Prepare system
|
|
ansible.builtin.import_role:
|
|
name: system
|
|
tags: system
|
|
|
|
- name: Set up incus
|
|
ansible.builtin.import_role:
|
|
name: incus-install
|
|
tags: incus
|
|
|
|
- name: Set up nfs shares
|
|
ansible.builtin.import_role:
|
|
name: nfs
|
|
tags: nfs
|
|
|
|
# FIXME: Role needs much fixup before it can run
|
|
# - name: Prepare incus
|
|
# ansible.builtin.import_role:
|
|
# name: incus-install
|
|
# tags: incus
|
|
|
|
# - name: Raise infrastructure
|
|
# hosts: localhost
|
|
# tags: infrastructure
|
|
# tasks:
|
|
# - ansible.builtin.import_role:
|
|
# name: infrastructure
|
|
|
|
# ansible-galaxy install geerlingguy.docker
|
|
- name: Install docker
|
|
hosts: instance_system
|
|
tags: docker
|
|
tasks:
|
|
- name: Install docker and docker compose
|
|
ansible.builtin.import_role:
|
|
name: geerlingguy.docker
|
|
|
|
- name: Install docker python requirements
|
|
ansible.builtin.package:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop:
|
|
- python3-yaml # for docker compose_v2
|
|
- python3-requests # for docker network
|
|
|
|
- name: Prepare all docker hosted containers
|
|
gather_facts: True
|
|
hosts: instance_system
|
|
tags:
|
|
- containers
|
|
tasks:
|
|
- name: Set up Caddy stack
|
|
ansible.builtin.import_role:
|
|
name: caddy
|
|
tags: caddy
|
|
|
|
- name: Set up Restic stack
|
|
ansible.builtin.import_role:
|
|
name: restic
|
|
|
|
- name: Set up Arr stack
|
|
ansible.builtin.import_role:
|
|
name: arr
|
|
tags: arr
|
|
|
|
- name: Set up Paperless stack
|
|
ansible.builtin.import_role:
|
|
name: paperless
|
|
tags: paperless
|
|
|
|
- name: Set up Grocy stack
|
|
ansible.builtin.import_role:
|
|
name: grocy
|
|
tags: grocy
|