Stasiek Michalski a2951d
riot_dependencies:
Stasiek Michalski a2951d
  pkg.installed:
Stasiek Michalski a2951d
    - pkgs:
Stasiek Michalski a2951d
      - riot-web
Stasiek Michalski a2951d
Stasiek Michalski a2951d
riot_conf_dir:
Stasiek Michalski a2951d
  file.directory:
Stasiek Michalski a2951d
    - name: /etc/riot-web/
Stasiek Michalski a2951d
Stasiek Michalski a2951d
riot_conf_file:
Stasiek Michalski a2951d
  file.managed:
Stasiek Michalski a2951d
    - name: /etc/riot-web/config.json
Stasiek Michalski a2951d
    - source: salt://profile/matrix/files/config-riot.json
Stasiek Michalski a2951d
    - require:
Stasiek Michalski a2951d
      - file: riot_conf_dir
Stasiek Michalski a2951d
Stasiek Michalski 73f0a6
synapse_conf_dir:
Stasiek Michalski 73f0a6
  file.directory:
Stasiek Michalski 73f0a6
    - name: /etc/matrix-synapse/
Stasiek Michalski 73f0a6
Stasiek Michalski dbe0c1
/data/matrix:
Stasiek Michalski c8239d
  file.directory:
Stasiek Michalski 529b25
    - user: synapse
Stasiek Michalski c8239d
    - group: synapse
Stasiek Michalski dbe0c1
Stasiek Michalski dbe0c1
/data/matrix/media_store:
Stasiek Michalski c8239d
  file.directory:
Stasiek Michalski 529b25
    - user: synapse
Stasiek Michalski c8239d
    - group: synapse
Stasiek Michalski dbe0c1
Stasiek Michalski 73f0a6
synapse_appservices_dir:
Stasiek Michalski 73f0a6
  file.directory:
Stasiek Michalski 73f0a6
    - name: /etc/matrix-synapse/appservices
Stasiek Michalski 73f0a6
Stasiek Michalski 73f0a6
synapse_conf_file:
Stasiek Michalski 73f0a6
  file.managed:
Stasiek Michalski 73f0a6
    - name: /etc/matrix-synapse/homeserver.yaml
Stasiek Michalski 73f0a6
    - source: salt://profile/matrix/files/homeserver.yaml
Stasiek Michalski 73f0a6
    - template: jinja
Stasiek Michalski 73f0a6
    - require:
Stasiek Michalski bb3737
      - file: synapse_conf_dir
Stasiek Michalski 73f0a6
    - require_in:
Stasiek Michalski 73f0a6
      - service: synapse_service
Stasiek Michalski 73f0a6
    - watch_in:
Stasiek Michalski 73f0a6
      - module: synapse_restart
Stasiek Michalski 73f0a6
Stasiek Michalski 73f0a6
/etc/matrix-synapse/signing.key:
Stasiek Michalski 73f0a6
  file.managed:
Stasiek Michalski 73f0a6
    - contents_pillar: profile:matrix:signing_key
Stasiek Michalski 6c3ca1
    - mode: 640
Stasiek Michalski 6c3ca1
    - user: root
Stasiek Michalski 6c3ca1
    - group: synapse
Sasi Olin 08cea7
Sasi Olin 08cea7
workers_conf_dir:
Sasi Olin 08cea7
  file.directory:
Sasi Olin 08cea7
    - name: /etc/matrix-synapse/workers/
Sasi Olin 08cea7
Sasi Olin 08cea7
workers_nginx_file:
Sasi Olin 08cea7
  file.managed:
Sasi Olin 08cea7
    - name: /etc/matrix-synapse/workers/nginx.conf
Sasi Olin 08cea7
    - source: salt://profile/matrix/files/workers.nginx
Sasi Olin 08cea7
    - template: jinja
Sasi Olin 08cea7
    - require:
Sasi Olin 08cea7
      - file: workers_conf_dir
Sasi Olin 08cea7
Sasi Olin 08cea7
{% set workers = salt['pillar.get']('profile:matrix:workers') %}
Sasi Olin 08cea7
Sasi Olin 08cea7
{% for app, types in workers.items() %}
Sasi Olin f0a978
{% for type in types %}
Sasi Olin 6725c7
{% for worker, port in type.get('workers').items() %}
Sasi Olin 08cea7
/etc/matrix-synapse/workers/{{worker}}.yaml:
Sasi Olin 08cea7
  file.managed:
Sasi Olin 08cea7
    - source: salt://profile/matrix/files/worker.yaml
Sasi Olin 08cea7
    - template: jinja
Sasi Olin 08cea7
    - context:
Sasi Olin 08cea7
        worker: {{ worker }}
Sasi Olin 08cea7
        port: {{ port }}
Sasi Olin 08cea7
        app: {{ app }}
Sasi Olin 08cea7
        resources: {{ type.get('resources') }}
Sasi Olin 12e835
        config: {{ type.get('config') }}
Sasi Olin 08cea7
    - require:
Sasi Olin 08cea7
      - file: workers_conf_dir
Sasi Olin 08cea7
    - require_in:
Sasi Olin 08cea7
      - service: {{worker}}_service
Sasi Olin 08cea7
    - watch_in:
Sasi Olin 08cea7
      - module: {{worker}}_restart
Sasi Olin 08cea7
Sasi Olin 08cea7
{% endfor %}
Sasi Olin 08cea7
{% endfor %}
Sasi Olin 08cea7
{% endfor %}