---

- hosts: hosts_vitamui
  roles:
    - checks

########################################################
# ZONE Common vitamui
########################################################
- hosts: hosts_vitamui
  gather_facts: no
  roles:
    - service_state
  vars:
    service_name: "{{ consul.service_name }}"
    verbe: "Starting"
    etat: "started"
  tags:
    - cots

- hosts: hosts_vitamui_logstash
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ logstash.service_name }}"
    verbe: "Starting"
    etat: "started"
  tags:
    - cots

- hosts: hosts_vitamui_mongod
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ mongodb.service_name }}"
    verbe: "Starting"
    etat: "started"
  tags:
    - cots

- hosts: hosts_vitamui_mongod
  gather_facts: no
  roles:
    - { role: service_state, when: (mongo_express is defined) and (mongo_express|lower == "true") }
    # - check_port
  vars:
    service_name: "{{ mongo_express_conf.service_name }}"
    verbe: "Starting"
    etat: "started"
  tags:
    - cots


- hosts: hosts_vitamui_iam_internal
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.iam_internal.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_vitamui_security_internal
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.security_internal.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_vitamui_iam_external
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.iam_external.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_cas_server
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.cas_server.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_ui_identity
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.identity.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_ui_portal
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.portal.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_ui_identity_admin
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.identity_admin.service_name }}"
    verbe: "Starting"
    etat: "started"

### Order ?

- hosts: hosts_vitamui_referential_internal
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.referential_internal.service_name }}"
    verbe: "Starting"
    etat: "started"
  tags:
    - referential_app

- hosts: hosts_vitamui_referential_external
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.referential_external.service_name }}"
    verbe: "Starting"
    etat: "started"
  tags:
    - referential_app

- hosts: hosts_ui_referential
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.referential.service_name }}"
    verbe: "Starting"
    etat: "started"
  tags:
    - referential_app

- hosts: hosts_vitamui_ingest_internal
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.ingest_internal.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_vitamui_ingest_external
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.ingest_external.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_ui_ingest
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.ingest.service_name }}"
    verbe: "Starting"
    etat: "started"

###################### ARCHIVE Search #################

- hosts: hosts_vitamui_archive_search_internal
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.archive_search_internal.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_vitamui_archive_search_external
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.archive_search_external.service_name }}"
    verbe: "Starting"
    etat: "started"

- hosts: hosts_ui_archive_search
  gather_facts: no
  roles:
    - service_state
    # - check_port
  vars:
    service_name: "{{ vitamui.archive_search.service_name }}"
    verbe: "Starting"
    etat: "started"

# ########################################################
# # ZONE Data
# ########################################################
# - hosts: hosts-vitamui-mongod
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-mongod service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-mongod
#       tags:
#         - mongo

#     - block:
#       - name: Starting vitamui-mongo-express if running
#         service:
#           name: "{{ item }}"
#           state: started
#         with_items:
#           - vitamui-mongo-express
#         tags:
#           - mongo
#           - mongo-express

#       - name: Wait for mongo-express service port to be available
#         wait_for:
#           port: "{{ mongo_express_conf.listen_port }}"
#           connect_timeout: "{{ svc_connect_timeout }}"
#           delay: "{{ svc_poll_interval }}"
#           timeout: "{{ svc_up_timeout }}"
#         tags:
#           - mongo
#           - mongo-express

#       when: hostvars[inventory_hostname].mongo_express is defined and hostvars[inventory_hostname].mongo_express == 'yes'


# ########################################################
# # ZONE APP
# ########################################################
# - hosts:  hosts-iam-internal
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-iam-internal service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-iam-internal
#       tags:
#         - iam-internal
#         - internal

#     - name: Wait for vitamui-iam-internal service port to be available
#       wait_for:
#         port: "{{ vitamui_services.iam_internal.port }}"
#         connect_timeout: "{{ svc_connect_timeout }}"
#         delay: 5
#         timeout: "{{ svc_up_timeout }}"
#       tags:
#         - iam-internal
#         - internal


# - hosts:  hosts-vitamui-security-internal
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-iam-security service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-security-internal
#       tags:
#         - security-internal
#         - internal

#     - name: Wait for vitamui-security-internal service port to be available
#       wait_for:
#         port: "{{ vitamui_services.security_internal.port }}"
#         connect_timeout: "{{ svc_connect_timeout }}"
#         delay: 5
#         timeout: "{{ svc_up_timeout }}"
#       tags:
#         - security-internal
#         - internal

# - hosts:  hosts-iam-external
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-iam-external service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-iam-external
#       tags:
#         - iam-external
#         - external

#     - name: Wait for vitamui-iam-external service port to be available
#       wait_for:
#         port: "{{ vitamui_services.iam_external.port }}"
#         connect_timeout: "{{ svc_connect_timeout }}"
#         delay: 5
#         timeout: "{{ svc_up_timeout }}"
#       tags:
#         - iam-external
#         - external

# ########################################################
# # ZONE CAS
# ########################################################
# - hosts: hosts-cas-server
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-cas-server service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-cas-server
#       tags:
#         - cas

#     - name: Wait for vitamui-cas-server service port to be available
#       wait_for:
#         port: "{{ vitamui_services.cas_server.port }}"
#         connect_timeout: "{{ svc_connect_timeout }}"
#         delay: 5
#         timeout: "{{ svc_up_timeout }}"
#       tags:
#         - cas

# ########################################################
# # ZONE UI
# ########################################################
# - hosts: hosts-ui-identity
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-ui-identity service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-ui-identity
#       tags:
#         - ui-identity
#         - ui

#     - name: Wait for vitamui-ui-identity service port to be available
#       wait_for:
#         port: "{{ vitamui_services.ui_identity.port }}"
#         connect_timeout: "{{ svc_connect_timeout }}"
#         delay: 5
#         timeout: "{{ svc_up_timeout }}"
#       tags:
#         - ui-identity
#         - ui

# - hosts: hosts-ui-portal
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-ui-portal service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-ui-portal
#       tags:
#         - ui-portal
#         - ui

#     - name: Wait for vitamui-ui-portal service port to be available
#       wait_for:
#         port: "{{ vitamui_services.ui_portal.port }}"
#         connect_timeout: "{{ svc_connect_timeout }}"
#         delay: 5
#         timeout: "{{ svc_up_timeout }}"
#       tags:
#         - ui-portal
#         - ui

# ########################################################
# # ZONE ADMIN
# ########################################################
# - hosts: hosts-ui-identity-admin
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-ui-identity-admin service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-ui-identity-admin
#       tags:
#         - ui-identity-admin
#         - ui-admin

#     - name: Wait for vitamui-ui-identity-admin service port to be available
#       wait_for:
#         port: "{{ vitamui_services.ui_identity_admin.port }}"
#         connect_timeout: "{{ svc_connect_timeout }}"
#         delay: 5
#         timeout: "{{ svc_up_timeout }}"
#       tags:
#         - ui-identity-admin
#         - ui-admin

# ########################################################
# # ZONE REVERSE
# ########################################################
# - hosts: hosts-vitamui-reverseproxy
#   serial: "100%"
#   pre_tasks:
#     - include_vars: "{{ inventory_dir }}/overrides.yml"
#       tags: always
#   tasks:
#     - name: Starting vitamui-nginx  service
#       service:
#         name: "{{ item }}"
#         state: started
#       with_items:
#         - vitamui-nginx
#       tags:
#         - reverseproxy

#     - name: Wait for vitamui-nginx service port to be available
#       wait_for:
#         connect_timeout: "{{ svc_connect_timeout }}"
#         delay: 5
#         timeout: "{{ svc_up_timeout }}"
#         port: 443
#       tags:
#         - reverseproxy