---
{%- from "golang/map.jinja" import golang with context %}
golang-archive-extract:
  archive.extracted:
    - name: {{ golang.release_dir }}/golang-{{ golang.version }}
    - source: {{ golang.mirror }}/go{{ golang.version }}.{{ golang.os }}-{{ golang.arch }}.tar.gz
    - skip_verify: true
    - enforce_toplevel: false
    - options: --transform 's/^go\///g'
    - if_missing: {{ golang.release_dir }}/golang-{{ golang.version }}

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

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