Add helm build image
[ci-management.git] / packer / provision / helm.yaml
diff --git a/packer/provision/helm.yaml b/packer/provision/helm.yaml
new file mode 100644 (file)
index 0000000..0518fbf
--- /dev/null
@@ -0,0 +1,60 @@
+---
+- 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'
+