---
- hosts: localhost
  gather_facts: false
  connection: local

  pre_tasks:
    - name: "Import constraints check"
      import_tasks: tasks/constraints_check.yml
      become: false
      tags:
        - always

- name: 'apply setup to {{ host | default("all") }}'
  hosts: '{{ host | default("all") }}'
  serial: "{{ serial_number | default(5) }}"
  vars:
    ansible_ssh_host: "{{ stage_server_domain }}"
  become: yes

  pre_tasks:
    - name: "Import autodiscover pre-tasks"
      import_tasks: tasks/autodiscover_pre_tasks.yml
      become: false
      tags:
        - always

  roles:
    - role: sma_postfix
      when: "'postfix' in group_names"

    - role: keycloak
      when: "'keycloak' in group_names"

    - role: harbor
      when: "'harbor' in group_names"

    - role: prometheus
      when: "'prometheus' in group_names"

    - role: elastic
      when: "'elastic' in group_names"

    - role: logstash
      when: "'logstash' in group_names"

    - role: kibana
      when: "'kibana' in group_names"

    - role: postgres
      when: "'postgres' in group_names"

    - role: pgadmin4
      when: "'pgadmin4' in group_names"

    - role: maria
      when: "'maria' in group_names"

    - role: gitea
      when: "'gitea' in group_names"

    - role: iam
      when: "'iam' in group_names"

    - role: management
      when: "'management' in group_names"

    - role: backup
      when: "'backup' in group_names"

    - role: backup_minio
      when: "'backup_minio' in group_names"

    - role: keycloak_compact
      when: "'keycloak_compact' in group_names"

    - role: connect_compact
      when: "'connect_compact' in group_names"
