aboutsummaryrefslogtreecommitdiff
path: root/roles/attackbox/tasks/golang_install.yaml
blob: e67d508353039116e57744cbdcc810ccd9d04328 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
- name: download and extract golang
  block:
    - name: get latest golang version
      shell: |
        curl -sSL https://golang.org/dl/ | awk -F '"' '/dl\/.*linux-amd64.*tar.gz/{print $(NF-1)}' | awk -F '/' '{print $3}' | head -1
      register: latest_golang
      changed_when: false

    - name: download golang
      get_url:
        url: "https://golang.org/dl/{{ latest_golang.stdout }}"
        dest: /tmp/golang.tar.gz

    - name: extract golang to /usr/local
      unarchive:
        src: /tmp/golang.tar.gz
        dest: /usr/local
        remote_src: yes

    - name: remove tarball
      file:
        path: /tmp/golang.tar.gz
        state: absent

    - name: set system-wide go environment variables
      copy:
        dest: /etc/profile.d/go_env.sh
        content: |
          export GOPATH=/root/go
          export PATH=$PATH:/usr/local/go/bin:$GOPATH:$GOPATH/bin
        owner: root
        group: root
        mode: '0644'