---
- name: engelsystem_specific_pre_tasks
  ansible.builtin.import_playbook: engelsystem_specific_pre_tasks.yaml

- name: Ensure SSH server config deployment on ssh_server_config_hosts
  hosts: ssh_server_config_hosts
  roles:
    - deploy_ssh_server_config

- name: Ensure deployment of infrastructure authorized keys
  hosts: infrastructure_authorized_keys_hosts
  roles:
    - infrastructure_authorized_keys

- name: Ensure Nextcloud config
  hosts: nextcloud_hosts
  roles:
    - nextcloud

- name: Ensure HiFiBerry deployment on hifiberry_hosts
  hosts: hifiberry_hosts
  roles:
    - hifiberry

- name: Ensure bluetooth audio sink deployment on bluetooth_audio_sink_hosts
  hosts: bluetooth_audio_sink_hosts
  roles:
    - bluetooth_audio_sink

- name: Ensure shairport sync deployment on shairport_sync_hosts 
  hosts: shairport_sync_hosts
  roles:
    - shairport_sync

- name: Ensure ola deployment on ola_hosts
  hosts: ola_hosts
  roles:
    - ola

- name: Ensure foobazdmx deployment on foobazdmx_hosts
  hosts: foobazdmx_hosts
  roles:
    - foobazdmx

- name: Ensure Mosquitto MQTT broker deployment on mosquitto_hosts
  hosts: mosquitto_hosts
  roles:
    - mosquitto

- name: Ensure Zigbee2MQTT deployment on zigbee2mqtt_hosts
  hosts: zigbee2mqtt_hosts
  roles:
    - zigbee2mqtt

- name: Ensure Dokuwiki config
  hosts: wiki
  roles:
    - dokuwiki

- name: Ensure certificate deployment on cert_hosts
  hosts: cert_hosts
  roles:
    - cert

- name: Ensure NGINX deployment on nginx_hosts, which are also public_reverse_proxy_hosts, before certbot role runs
  hosts: nginx_hosts:&public_reverse_proxy_hosts
  roles:
    - nginx

- name: Ensure certbot and certificate deployment on certbot_hosts
  hosts: certbot_hosts
  roles:
    - certbot

- name: Ensure Docker Compose deployment on docker_compose_hosts
  hosts: docker_compose_hosts
  roles:
    - docker_compose

- name: Ensure NGINX deployment on nginx_hosts
  hosts: nginx_hosts:!public_reverse_proxy_hosts
  roles:
    - nginx