- name: Load role-specific secrets via sops
  community.sops.load_vars:
    file: "{{ role_path }}/vars/secrets.sops.yaml"

- name: Ensure metabase directory exists
  ansible.builtin.file:
    path: "{{ metabase_project_dir }}"
    state: directory
    owner: admin
    group: admin
    mode: "0755"

- name: Copy docker-compose.yml for metabase
  ansible.builtin.template:
    src: docker-compose.yml.j2
    dest: "{{ metabase_project_dir }}/docker-compose.yml"
    owner: admin
    group: admin
    mode: "0644"

- name: Copy backup.sh for metabase
  ansible.builtin.template:
    src: backup.sh.j2
    dest: "{{ metabase_project_dir }}/backup.sh"
    owner: admin
    group: admin
    mode: "0755"

- name: Deploy metabase docker compose stack
  community.docker.docker_compose_v2:
    project_src: "{{ metabase_project_dir }}"
    state: present
    recreate: auto
    remove_orphans: true
    wait: true

- name: Verify metabase service is running
  ansible.builtin.uri:
    url: "http://localhost:3001/api/health"
    method: GET
    status_code: [200]
  retries: 10
  delay: 5
