---
{%- from "ipblc/map.jinja" import ipblc with context %}
ipblc-archive-extract:
  archive.extracted:
    - name: {{ ipblc.release_dir }}/ipblc-{{ ipblc.version }}
    - source: {{ ipblc.mirror }}/{{ ipblc.version }}/ipblc-{{ ipblc.version }}-{{ ipblc.os }}-{{ ipblc.arch }}.tar.gz
    - skip_verify: true
    - enforce_toplevel: false
    - user: root
    - group: root
    - enforce_ownership_on: {{ ipblc.release_dir }}/ipblc-{{ ipblc.version }}
    - if_missing: {{ ipblc.release_dir }}/ipblc-{{ ipblc.version }}
    - watch_in:
      - service: ipblc-service

ipblc-binary-symlink:
  file.symlink:
    - name: {{ ipblc.install_dir }}/ipblc
    - target: {{ ipblc.release_dir }}/ipblc-{{ ipblc.version }}
    - force: true
    - require:
      - archive: ipblc-archive-extract
    - watch_in:
      - service: ipblc-service

ipblc-cleanup:
  software.cleanup:
    - name: ipblc
    - path: {{ ipblc.release_dir }}
    - version: "{{ ipblc.version }}"