--- - 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'