81 lines
2.9 KiB
YAML
81 lines
2.9 KiB
YAML
# vim: set filetype=yaml.ansible :
|
|
---
|
|
- name: Configure go for install
|
|
when:
|
|
- "'go' not in __configured"
|
|
block:
|
|
- name: Configure go install method
|
|
when:
|
|
- go_install_method is undefined
|
|
ansible.builtin.set_fact:
|
|
go_install_method: "{% if install_method in go_install_methods %}{{ install_method }}{% else %}{{ go_install_methods[0] }}{% endif %}"
|
|
|
|
- name: Configure go system installation
|
|
when:
|
|
- go_install_method == 'system'
|
|
block:
|
|
- name: Set go pkgname
|
|
ansible.builtin.set_fact:
|
|
go_pkgname: "{{ go_pkgname[ansible_os_family] }}"
|
|
|
|
- name: Set go pkgname for FreeBSD
|
|
when:
|
|
- ansible_os_family == 'FreeBSD'
|
|
ansible.builtin.set_fact:
|
|
go_pkgname: "{{ go_pkgname[go_bsd_version] | default(go_pkgname['default']) }}"
|
|
|
|
- name: Configure go archive installation
|
|
when:
|
|
- go_install_method == 'archive'
|
|
block:
|
|
- name: Configure go
|
|
ansible.builtin.set_fact:
|
|
go_system: "{{ ansible_system | lower }}"
|
|
go_arch: "{{ go_archive_archmap[ansible_architecture] }}"
|
|
|
|
- name: Set archive name
|
|
ansible.builtin.set_fact:
|
|
go_archive_file: "go{{ go_archive_version }}.{{ go_system }}-{{ go_arch }}.tar.gz"
|
|
|
|
- name: Set go archive url and path
|
|
ansible.builtin.set_fact:
|
|
go_archive_url: "{{ go_archive_url_base }}/{{ go_archive_file }}"
|
|
go_extract_path: "{{ path_archive }}/go{{ go_archive_version }}"
|
|
|
|
- name: Finalize go archive install
|
|
ansible.builtin.set_fact:
|
|
go_archive_install:
|
|
extract_to: "{{ go_extract_path }}"
|
|
url: "{{ go_archive_url }}"
|
|
name: "{{ go_archive_file }}"
|
|
checksum: "{{ go_archive_sums[go_archive_version][ansible_system][go_arch] }}"
|
|
links:
|
|
- from: "{{ go_extract_path }}/go"
|
|
to: "{{ path_go }}"
|
|
force: true
|
|
- from: "{{ go_extract_path }}/go/bin/go"
|
|
to: "{{ path_bin }}/go"
|
|
force: true
|
|
__add_to_path: "{{ __add_to_path + [path_go ~ '/bin'] }}"
|
|
__var_to_env: "{{ __var_to_env | combine( { 'GOROOT': path_go } ) }}"
|
|
|
|
- name: Queue go install
|
|
block:
|
|
- name: Go system package install
|
|
when:
|
|
- go_install_method == 'system'
|
|
ansible.builtin.set_fact:
|
|
pkg_sys: "{{ pkg_sys + [go_pkgname] }}"
|
|
|
|
- name: Install via archive
|
|
when:
|
|
- go_install_method == 'archive'
|
|
block:
|
|
- name: Add go archive extract install
|
|
ansible.builtin.set_fact:
|
|
pkg_archive: "{{ pkg_archive + [go_archive_install] }}"
|
|
|
|
- name: Complete go archive install configuration
|
|
ansible.builtin.set_fact:
|
|
__configured: "{{ __configured | combine( { 'go': true } ) }}"
|