67 lines
2.3 KiB
YAML
Raw Normal View History

- name: Create folder structure(s)
ansible.builtin.file:
path: "{{ item }}"
state: directory
loop:
- /opt/metacluster/helm-charts
2022-07-06 16:09:21 +02:00
- /opt/metacluster/container-images
- name: Add helm repositories
kubernetes.core.helm_repository:
2022-06-25 00:54:36 +02:00
name: "{{ item.name }}"
repo_url: "{{ item.url }}"
state: present
loop: "{{ platform.helm_repositories }}"
- name: Fetch helm charts
ansible.builtin.command:
cmd: helm fetch {{ item.value.helm.chart }} --untar --version {{ item.value.helm.version }}
chdir: /opt/metacluster/helm-charts
loop: "{{ lookup('ansible.builtin.dict', components) }}"
loop_control:
label: "{{ item.key }}"
2022-07-09 09:18:13 +02:00
- block:
2022-07-09 09:26:13 +02:00
- name: Aggregate chart_values into dict
ansible.builtin.set_fact:
2022-07-09 23:37:57 +02:00
chart_values: "{{ chart_values | default({}) | combine({ item.key: { 'chart_values': item.value.helm.chart_values } }) }}"
when: item.value.helm.chart_values is defined
2022-07-09 09:26:13 +02:00
loop: "{{ lookup('ansible.builtin.dict', components) }}"
loop_control:
label: "{{ item.key }}"
- ansible.builtin.debug:
2022-07-09 23:37:57 +02:00
msg: "{{ chart_values | to_nice_yaml(default_style='\"', indent=2, width=4096) }}"
- name: Write dict to vars_file
ansible.builtin.blockinfile:
path: /opt/firstboot/ansible/vars/metacluster.yml
block: "{{ { 'components': chart_values } | to_nice_yaml(default_style='\"', indent=2, width=4096) }}"
2022-06-26 18:24:57 +02:00
- name: Parse helm charts for container images
2022-06-27 09:56:48 +02:00
ansible.builtin.shell:
2022-06-27 12:27:11 +02:00
cmd: "{{ item.value.helm.parse_logic }}"
2022-06-27 19:43:07 +02:00
chdir: /opt/metacluster/helm-charts/{{ item.key }}
2022-06-26 18:24:57 +02:00
register: containerimages
loop: "{{ lookup('ansible.builtin.dict', components) }}"
loop_control:
label: "{{ item.key }}"
- name: Pull and store containerimages
2022-07-06 16:32:39 +02:00
ansible.builtin.shell:
2022-07-06 14:36:30 +02:00
cmd: >-
skopeo copy \
2022-07-06 16:09:21 +02:00
--retry-times=5 \
2022-07-06 14:36:30 +02:00
docker://{{ item }} \
docker-archive:./{{ ( item | regex_findall('[^/:]+'))[-2] }}.tar:{{ item }}
chdir: /opt/metacluster/container-images
2022-07-01 13:10:26 +02:00
loop: "{{ containerimages.results | map(attribute='stdout_lines') | flatten + dependencies.container_images }}"
2022-06-26 18:32:05 +02:00
2022-07-06 16:09:21 +02:00
- name: Compress tarballs
community.general.archive:
dest: /opt/metacluster/container-images/image-tarballs.tgz
path: /opt/metacluster/container-images/*
format: gz
remove: yes