--- - name: create collabora-code config subdirectory loop: "{{ collabora_code_instances | list }}" file: path: "{{ collabora_code_base_path }}/{{ item }}/config" state: directory mode: 0750 - name: generate configuration file loop: "{{ collabora_code_instances | dict2items }}" loop_control: label: "{{ item.key }}" template: src: "config/{{ item.value.version | collabora_code_loolvcool | ternary('lool', 'cool') }}wsd.{{ item.value.version }}.xml.j2" dest: "{{ collabora_code_base_path }}/{{ item.key }}/config/{{ item.value.version | collabora_code_loolvcool | ternary('lool', 'cool') }}wsd.xml" - name: remove legacy configuration file loop: "{{ collabora_code_instances | dict2items }}" loop_control: label: "{{ item.key }}" file: path: "{{ collabora_code_base_path }}/{{ item.key }}/config/{{ item.value.version | collabora_code_loolvcool | ternary('cool', 'lool') }}wsd.xml" state: absent - name: build custom image loop: "{{ collabora_code_instances | dict2items }}" loop_control: label: "{{ item.key }}" when: "'custom_image' in item.value" include_tasks: custom-image.yml - name: install pod manifest loop: "{{ collabora_code_instances | dict2items }}" loop_control: label: "{{ item.key }}" vars: kubernetes_standalone_pod: name: "collabora-code-{{ item.key }}" spec: "{{ lookup('template', 'pod-spec.yml.j2') }}" mode: "0600" config_hash_items: - path: "{{ collabora_code_base_path }}/{{ item.key }}/config/{{ item.value.version | collabora_code_loolvcool | ternary('lool', 'cool') }}wsd.xml" properties: - checksum include_role: name: kubernetes/standalone/pod - name: install nginx vhost config loop: "{{ collabora_code_instances | dict2items }}" loop_control: label: "{{ item.key }}" include_tasks: nginx-vhost.yml