summaryrefslogtreecommitdiff
path: root/roles/apps/collabora/code/instance/tasks/main.yml
blob: eed473a050a6c25e92a7971a87c99f3ae25b909f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---
- name: prepare storage volume
  vars:
    storage_volume: "{{ collabora_code_instances[collabora_code_instance].storage }}"
  include_role:
    name: "storage/{{ collabora_code_instances[collabora_code_instance].storage.type }}/volume"

- set_fact:
    collabora_code_instance_basepath: "{{ storage_volume_mountpoint }}"

- name: create instance config directory
  file:
    path: "{{ collabora_code_instance_basepath }}/config"
    state: directory
    mode: 0750

- name: generate configuration file
  template:
    src: "config/coolwsd.{{ collabora_code_instances[collabora_code_instance].version }}.xml.j2"
    dest: "{{ collabora_code_instance_basepath }}/config/coolwsd.xml"

- name: build custom image
  when: "'custom_image' in collabora_code_instances[collabora_code_instance]"
  include_tasks: custom-image.yml

- name: install pod manifest
  vars:
    kubernetes_standalone_pod:
      name: "collabora-code-{{ collabora_code_instance }}"
      spec: "{{ lookup('template', 'pod-spec.yml.j2') }}"
      mode: "0600"
      config_hash_items:
      - path: "{{ collabora_code_instance_basepath }}/config/coolwsd.xml"
        properties:
        - checksum
  include_role:
    name: kubernetes/standalone/pod

- name: render nginx-vhost custom config
  set_fact:
    collabora_code_nginx_vhost_custom: "{{ lookup('template', 'nginx-vhost.conf.j2') }}"

- name: configure nginx vhost
  vars:
    nginx_vhost:
      name: "collabora-code-{{ collabora_code_instance }}"
      template: generic
      tls:
        certificate_provider: "{{ acme_client }}"
      hostnames:
      - "{{ collabora_code_instances[collabora_code_instance].hostname }}"
      custom: "{{ collabora_code_nginx_vhost_custom }}"
  include_role:
    name: nginx/vhost