diff --git a/ansible/roles/appliance/tasks/dependencies.yml b/ansible/roles/appliance/tasks/dependencies.yml index 8a1dd72..2586992 100644 --- a/ansible/roles/appliance/tasks/dependencies.yml +++ b/ansible/roles/appliance/tasks/dependencies.yml @@ -12,7 +12,33 @@ owner: root group: root mode: 0755 - loop: "{{ dependencies.static_binaries }}" + loop: "{{ dependencies.static_binaries | selectattr('archive', 'undefined') }}" + +- block: + - name: Initialize tempfolder + ansible.builtin.tempfile: + state: directory + register: archives + + - name: Create destination sub folder + ansible.builtin.file: + path: "{{ archives.path }}/{{ item.binary }}" + state: directory + loop: "{{ dependencies.static_binaries | selectattr('archive', 'equalto', 'compressed') }}" + + - name: Download, extract & install archived static binaries + ansible.builtin.unarchive: + src: "{{ item.url }}" + dest: "{{ archives.path }}/{{ item.binary }}" + remote_src: yes + extra_opts: "{{ item.extra_opts | default(omit) }}" + loop: "{{ dependencies.static_binaries | selectattr('archive', 'equalto', 'compressed') }}" + + - name: Cleanup tempfolder + ansible.builtin.file: + path: "{{ archives.path }}" + state: absent + when: archives.path is defined - name: Install ansible-galaxy collections ansible.builtin.shell: @@ -21,15 +47,21 @@ - name: Install distro packages ansible.builtin.apt: - name: "{{ item }}" + pkg: "{{ dependencies.packages }}" + state: latest update_cache: yes install_recommends: no - loop: "{{ dependencies.packages }}" -- name: Update all packages +- name: Upgrade all packages ansible.builtin.apt: name: '*' state: latest + update_cache: yes + +- name: Cleanup apt cache + ansible.builtin.apt: + autoremove: yes + purge: yes - block: diff --git a/ansible/roles/os/tasks/packages.yml b/ansible/roles/os/tasks/packages.yml index bc3f48f..1c58d58 100644 --- a/ansible/roles/os/tasks/packages.yml +++ b/ansible/roles/os/tasks/packages.yml @@ -1,13 +1,13 @@ - name: Install additional packages ansible.builtin.apt: - name: "{{ item }}" + pkg: "{{ packages }}" state: latest update_cache: yes - loop: "{{ packages }}" + install_recommends: no - name: Upgrade all packages ansible.builtin.apt: - name: "*" + name: '*' state: latest update_cache: yes diff --git a/ansible/vars/metacluster.yml b/ansible/vars/metacluster.yml index bbff903..e269903 100644 --- a/ansible/vars/metacluster.yml +++ b/ansible/vars/metacluster.yml @@ -25,7 +25,11 @@ dependencies: - kubernetes.core static_binaries: - - filename: yq + - binary: helm + url: https://get.helm.sh/helm-v3.9.0-linux-amd64.tar.gz + archive: compressed + extra_opts: --strip-components=1 + - binary: yq url: http://github.com/mikefarah/yq/releases/download/v4.25.2/yq_linux_amd64 packages: