diff options
Diffstat (limited to 'deployment/noheat/cluster-rke/ansible/roles/setup_helm')
4 files changed, 88 insertions, 65 deletions
diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_helm/defaults/main.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_helm/defaults/main.yml index cbbb3c910..7de57af9c 100644 --- a/deployment/noheat/cluster-rke/ansible/roles/setup_helm/defaults/main.yml +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_helm/defaults/main.yml @@ -1,6 +1,7 @@ --- -helm_version: "3.6.3" -chartmuseum_version: "0.13.1" +helm_version: "3.7.2" +helm_cm_push_version: "0.10.3" +chartmuseum_version: "0.15.0" chartmuseum_port: "8879" chartmuseum_dir: "{{ ansible_user_dir }}/helm3-storage" local_user: "{{ ansible_user_id }}" diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/cm.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/cm.yml new file mode 100644 index 000000000..71f43ad0a --- /dev/null +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/cm.yml @@ -0,0 +1,45 @@ +--- +- name: Check if chartmuseum is installed + stat: + path: /usr/local/bin/chartmuseum + register: cm_bin + +- name: Check if chartmuseum is installed + stat: + path: /tmp/get-chartmuseum + register: cm_install + +- name: Download chartmuseum install script + get_url: + url: "https://raw.githubusercontent.com/helm/chartmuseum/v{{ chartmuseum_version }}/scripts/get-chartmuseum" + dest: "/tmp/" + mode: '700' + when: not cm_install.stat.exists + +- name: Install chartmuseum + become: yes + command: + cmd: "./get-chartmuseum -v v{{ chartmuseum_version }}" + chdir: "/tmp/" + when: not cm_bin.stat.exists + +- name: Create chartmuseum local storage + file: + name: "{{ chartmuseum_dir }}" + state: directory + mode: '0755' + +- name: Install chartmuseum service file + become: yes + template: + src: "chartmuseum.service.j2" + dest: "/etc/systemd/system/chartmuseum.service" + mode: '0444' + notify: Reload systemd + +- name: Start and enable chartmuseum + become: yes + service: + name: "chartmuseum" + state: started + enabled: yes diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/helm.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/helm.yml new file mode 100644 index 000000000..88ba29f64 --- /dev/null +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/helm.yml @@ -0,0 +1,35 @@ +--- +- name: Download helm + get_url: + url: "https://get.helm.sh/helm-v{{ helm_version }}-linux-amd64.tar.gz" + dest: "/tmp" + +- name: Unarchive helm + unarchive: + src: "/tmp/helm-v{{ helm_version }}-linux-amd64.tar.gz" + dest: "/tmp/" + remote_src: yes + +- name: Copy helm binary to $PATH + become: yes + copy: + src: "/tmp/linux-amd64/helm" + dest: "/usr/local/bin/" + remote_src: yes + mode: '0555' + +- name: Install Helm Push plugin + kubernetes.core.helm_plugin: + plugin_path: "https://github.com/chartmuseum/helm-push.git" + plugin_version: "{{ helm_cm_push_version }}" + state: present + +- name: Install Helm OOM Deploy plugin + kubernetes.core.helm_plugin: + plugin_path: "{{ oom_dir }}/kubernetes/helm/plugins/deploy" + state: present + +- name: Install Helm OOM Undeploy plugin + kubernetes.core.helm_plugin: + plugin_path: "{{ oom_dir }}/kubernetes/helm/plugins/undeploy" + state: present diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/main.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/main.yml index 93787be5f..94abf6ea8 100644 --- a/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/main.yml +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_helm/tasks/main.yml @@ -1,67 +1,9 @@ -- name: Download helm - get_url: - url: "https://get.helm.sh/helm-v{{ helm_version }}-linux-amd64.tar.gz" - dest: "/tmp" +--- +- name: Setup helm + include_tasks: helm.yml -- name: Unarchive helm - unarchive: - src: "/tmp/helm-v{{ helm_version }}-linux-amd64.tar.gz" - dest: "/tmp/" - remote_src: yes - -- name: Copy helm binary to $PATH - become: yes - copy: - src: "/tmp/linux-amd64/helm" - dest: "/usr/local/bin/" - remote_src: yes - mode: '0555' - -- name: Install Helm Push plugin - command: helm plugin install --version 0.9.0 https://github.com/chartmuseum/helm-push.git - -- name: Install Helm OOM Deploy plugin - kubernetes.core.helm_plugin: - plugin_path: "{{ oom_dir }}/kubernetes/helm/plugins/deploy" - state: present - -- name: Install Helm OOM Undeploy plugin - kubernetes.core.helm_plugin: - plugin_path: "{{ oom_dir }}/kubernetes/helm/plugins/undeploy" - state: present - -- name: Download chartmuseum install script - get_url: - url: "https://raw.githubusercontent.com/helm/chartmuseum/v{{ chartmuseum_version }}/scripts/get-chartmuseum" - dest: "/tmp/" - mode: '700' - -- name: Install chartmuseum - become: yes - command: - cmd: "./get-chartmuseum -v v{{ chartmuseum_version }}" - chdir: "/tmp/" - -- name: Create chartmuseum local storage - file: - name: "{{ chartmuseum_dir }}" - state: directory - mode: '0755' - -- name: Install chartmuseum service file - become: yes - template: - src: "chartmuseum.service.j2" - dest: "/etc/systemd/system/chartmuseum.service" - mode: '0444' - notify: Reload systemd - -- name: Start and enable chartmuseum - become: yes - service: - name: "chartmuseum" - state: started - enabled: yes +- name: Setup chartmuseum + include_tasks: cm.yml - name: Add local Helm repository kubernetes.core.helm_repository: |