# Necessary for building: https://chat.openai.com/share/99d258cc-294b-4924-8eef-02fe419bb838
- name: install which
  community.general.pacman:
    name: which
    state: present

- name: "load docker, db and proxy for {{ application_id }}"
  include_role: 
    name: cmp-db-docker-proxy
  vars:
    docker_compose_flush_handlers: true

- name: pull docker repository
  git:
    repo: "{{ DISCOURSE_REPOSITORY_URL }}"
    dest: "{{ DISCOURSE_REPOSITORY_DIR }}"
    update: yes
  notify: recreate discourse
  become: true
  ignore_errors: true

- name: set chmod 700 for '{{ DISCOURSE_CONTAINERS_DIR}}'
  ansible.builtin.file:
    path: "{{ DISCOURSE_CONTAINERS_DIR }}"
    mode: '700'
    state: directory

- name: "copy configuration to '{{ DISCOURSE_APPLICATION_YML_DEST }}'"
  template: 
    src: config.yml.j2
    dest: "{{ DISCOURSE_APPLICATION_YML_DEST }}"
    mode: '0640'
  notify: recreate discourse

- name: "Verify that '{{ DISCOURSE_CONTAINER }}' is running"
  ansible.builtin.command:
    argv:
      - docker
      - ps
      - --filter
      - "name=^{{ DISCOURSE_CONTAINER }}$"
      - --filter
      - status=running
      - --format
      - "{{ '{{.Names}}' }}"
  register: docker_ps
  changed_when: docker_ps.stdout.strip() == ""
  failed_when: docker_ps.rc != 0
  notify: recreate discourse

- name: flush, to recreate discourse app
  meta: flush_handlers
