a48dc1
include:
a48dc1
  - .nginx
a48dc1
Jacob Michalskie 923bf0
element_dependencies:
Stasiek Michalski a2951d
  pkg.installed:
Stasiek Michalski a2951d
    - pkgs:
Jacob Michalskie 923bf0
      - element-web
Stasiek Michalski a2951d
Jacob Michalskie 923bf0
element_conf_file:
Stasiek Michalski a2951d
  file.managed:
Stasiek Michalski a2951d
    - name: /etc/riot-web/config.json
Jacob Michalskie 923bf0
    - source: salt://profile/matrix/files/config-element.json
Stasiek Michalski a2951d
    - require:
a13e91
      - file: matrix_conf_dirs
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:
a13e91
      - file: matrix_conf_dirs
Stasiek Michalski 73f0a6
    - watch_in:
62ece8
      - service: synapse_service
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
faabbf
    - mode: '0640'
Stasiek Michalski 6c3ca1
    - user: root
Stasiek Michalski 6c3ca1
    - group: synapse
Sasi Olin 08cea7
faabbf
{%- set workers = salt['pillar.get']('profile:matrix:workers') %}
Sasi Olin 08cea7
faabbf
{%- for app, types in workers.items() %}
faabbf
{%- for type in types %}
faabbf
{%- for worker, port in type.get('workers').items() %}
faabbf
/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 }}
c6b8ef
        resources: {{ type.get('resources', []) }}
Sasi Olin 12e835
        config: {{ type.get('config') }}
Sasi Olin 08cea7
    - require:
a13e91
      - file: matrix_conf_dirs
Sasi Olin 08cea7
    - watch_in:
62ece8
      - service: {{ worker }}_service
Sasi Olin 08cea7
faabbf
{%- endfor %}
faabbf
{%- endfor %}
faabbf
{%- endfor %}