+---
+- import_playbook: ../common-packer/provision/docker.yaml
+
+- hosts: all
+ become_user: root
+ become_method: sudo
+
+ vars:
+ golang_version: 1.13.5
+ helm_version: 2.16.1
+ kubectl_version: 1.16.3
+
+ tasks:
+ - name: 'Install GoLang {{golang_version}}'
+ block:
+ - name: 'Fetch golang {{golang_version}} to /tmp/go{{golang_version}}.linux-amd64.tar.gz'
+ get_url:
+ url: 'https://storage.googleapis.com/golang/go{{golang_version}}.linux-amd64.tar.gz'
+ dest: '/tmp/go{{golang_version}}.linux-amd64.tar.gz'
+ checksum: '{{golang_checksum}}'
+ - name: 'Install golang {{golang_version}} to /usr/local'
+ unarchive:
+ src: '/tmp/go{{golang_version}}.linux-amd64.tar.gz'
+ dest: /usr/local
+ remote_src: true
+ become: true
+ - name: Create symbolic link to go bin
+ file:
+ src: "/usr/local/go/bin/go"
+ dest: "/usr/bin/go"
+ state: link
+ become: true
+
+ - name: 'Install kubectl {{kubectl_version}}'
+ get_url:
+ url: https://storage.googleapis.com/kubernetes-release/release/v{{kubectl_version}}/bin/linux/amd64/kubectl
+ dest: /usr/local/bin/kubectl
+ mode: 0775
+ become: yes
+
+ - name: 'Install Helm {{helm_version}}'
+ block:
+ - name: 'Fetch tar.gz'
+ get_url:
+ url: https://get.helm.sh/helm-v{{helm_version}}-linux-amd64.tar.gz
+ dest: /tmp/helm-v{{helm_version}}-linux-amd64.tar.gz
+ - name: 'Unarchive'
+ unarchive:
+ src: /tmp/helm-v{{helm_version}}-linux-amd64.tar.gz
+ dest: /tmp
+ remote_src: true
+ become: yes
+ - name: 'Move helm to /usr/local/bin and set as executable'
+ command: 'mv /tmp/linux-amd64/helm /usr/local/bin/helm'
+ become: yes
+ - name: 'Check helm.'
+ command: 'which helm'
+ - name: 'Check kubectl.'
+ command: 'which kubectl'
+