- name: "Validate configuration"
  include_tasks: "02_validate.yml"

- name: "load docker, proxy for '{{ application_id }}'"
  include_role:
    name: cmp-docker-proxy

- name: "Check if host-specific config.yaml exists in {{ config_inventory_path }}"
  stat:
    path: "{{ config_inventory_path }}"
  delegate_to: localhost
  become: false
  register: config_file

- name: Load menu categories
  include_vars:
    file: "menu_categories.yml"

- name: Load docker cards
  set_fact:
    portfolio_cards: "{{ lookup('docker_cards', 'roles') }}"

- name: "Load images for applications feature simpleicons is enabled "
  set_fact:
    portfolio_cards: "{{ portfolio_cards | add_simpleicon_source(domains, WEB_PROTOCOL) }}"
  when:
    - (applications | get_app_conf(application_id, 'features.simpleicons', False))

- name: Group docker cards
  set_fact:
    portfolio_menu_data: "{{ lookup('docker_cards_grouped', portfolio_cards, portfolio_menu_categories) }}"

- name: Debug portfolio data
  debug:
    msg:
      portfolio_cards:            "{{ portfolio_cards }}"
      portfolio_menu_categories:  "{{ portfolio_menu_categories}}"
      portfolio_menu_data:        "{{ portfolio_menu_data }}"
      service_provider:           "{{ service_provider }}"
  when: MODE_DEBUG | bool

- name: Copy host-specific config.yaml if it exists
  template:
    src: "{{ config_inventory_path }}"
    dest: "{{docker_repository_path}}/app/config.yaml"
  notify: docker compose up
  when: config_file.stat.exists

- name: Copy default config.yaml from the role template if host-specific file does not exist
  template:
    src: "config.yaml.j2"
    dest: "{{docker_repository_path}}/app/config.yaml"
  notify: docker compose up
  when: not config_file.stat.exists

- name: add docker-compose.yml
  template:
    src:  docker-compose.yml.j2 
    dest: "{docker_compose.directories.instance}}docker-compose.yml"
  notify: docker compose up