Packer.Images/ansible/roles/appliance/tasks/dependencies.yml

74 lines
2.3 KiB
YAML
Raw Normal View History

- name: Create folder structure(s)
2022-06-24 21:44:10 +00:00
ansible.builtin.file:
path: "{{ item }}"
state: directory
loop:
- /opt/metacluster/dependencies/helm/charts
2022-06-24 21:44:10 +00:00
- name: Download & install static binaries
ansible.builtin.get_url:
url: "{{ item.url }}"
2022-06-25 06:33:12 +00:00
dest: /usr/local/bin/{{ item.filename }}
owner: root
group: root
mode: 0755
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:
2022-06-25 18:23:27 +00:00
path: "{{ archives.path }}/{{ item.filename }}"
state: directory
2022-06-25 18:48:15 +00:00
loop: "{{ dependencies.static_binaries | selectattr('archive', 'defined') | selectattr('archive', 'equalto', 'compressed') }}"
- name: Download, extract & install archived static binaries
ansible.builtin.unarchive:
src: "{{ item.url }}"
2022-06-25 18:23:27 +00:00
dest: "{{ archives.path }}/{{ item.filename }}"
remote_src: yes
extra_opts: "{{ item.extra_opts | default(omit) }}"
2022-06-25 18:48:15 +00:00
loop: "{{ dependencies.static_binaries | selectattr('archive', 'defined') | selectattr('archive', 'equalto', 'compressed') }}"
2022-06-25 19:03:42 +00:00
- name: Install extracted binaries
ansible.builtin.file:
src: "{{ archives.path }}/{{ item.filename }}/{{ item.filename }}
dest: /usr/local/bin/{{ item.filename }}
owner: root
group: root
mode: 0755
loop: "{{ dependencies.static_binaries | selectattr('archive', 'defined') | 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
2022-06-24 21:44:10 +00:00
ansible.builtin.shell:
2022-06-25 06:33:12 +00:00
cmd: ansible-galaxy collection install {{ item }}
2022-06-24 21:44:10 +00:00
loop: "{{ dependencies.ansible_galaxy_collections }}"
- name: Install distro packages
ansible.builtin.apt:
pkg: "{{ dependencies.packages }}"
state: latest
update_cache: yes
install_recommends: no
- name: Upgrade all packages
ansible.builtin.apt:
2022-06-25 06:33:12 +00:00
name: '*'
state: latest
update_cache: yes
- name: Cleanup apt cache
ansible.builtin.apt:
autoremove: yes
purge: yes