Sasi Olin 4663db
discourse_pgks:
Sasi Olin 4663db
  pkg.installed:
Sasi Olin 4663db
    - pkgs:
Sasi Olin 4663db
      - discourse
Jacob Michalskie b2e287
      - ruby2.7-rubygem-discourse_mail_receiver
Jacob Michalskie 5fabf7
      - nginx-module-brotli
Jacob Michalskie b2e287
Jacob Michalskie b2e287
discourse_config:
Jacob Michalskie b2e287
  file.managed:
Jacob Michalskie b2e287
    - name: /srv/www/vhosts/discourse/config/discourse.conf
Jacob Michalskie b2e287
    - source: salt://profile/discourse/files/discourse.conf
Jacob Michalskie b2e287
    - template: jinja
Jacob Michalskie b2e287
    - require_in:
Jacob Michalskie b2e287
      - service: discourse_target
Jacob Michalskie b2e287
    - watch_in:
Jacob Michalskie b2e287
      - module: discourse_target
Jacob Michalskie b2e287
Jacob Michalskie b2e287
discourse_mail_receiver_settings:
Jacob Michalskie b2e287
  file.managed:
Jacob Michalskie b2e287
    - name: /etc/postfix/mail-receiver-environment.json
Jacob Michalskie b2e287
    - source: salt://profile/discourse/files/mail-receiver-environment.json
Jacob Michalskie b2e287
    - template: jinja
Jacob Michalskie b2e287
    - require_in:
Jacob Michalskie b2e287
      - service: discourse_target
Jacob Michalskie b2e287
    - watch_in:
Jacob Michalskie b2e287
      - module: discourse_target
Sasi Olin 4663db
Jacob Michalskie 05a6c1
discourse_mail_transport:
Jacob Michalskie 05a6c1
  file.managed:
Jacob Michalskie 05a6c1
    - name: /etc/postfix/transport
Jacob Michalskie 05a6c1
    - contents: 'forums.opensuse.org  discourse:'
Jacob Michalskie 6b3441
    - user: root
Jacob Michalskie 6b3441
    - group: root
Jacob Michalskie 6b3441
    - mode: 0644
Jacob Michalskie 6b3441
    - replace: True
Jacob Michalskie 05a6c1
    - require_in:
Jacob Michalskie 05a6c1
      - service: discourse_target
Jacob Michalskie 05a6c1
    - watch_in:
Jacob Michalskie 05a6c1
      - module: discourse_target
Jacob Michalskie 05a6c1
Jacob Michalskie 6b3441
discourse_mail_transport_postmap:
Jacob Michalskie 6b3441
  cmd.run:
Jacob Michalskie 6b3441
    - name: postmap /etc/postfix/transport
Jacob Michalskie 6b3441
    - runas: root
Jacob Michalskie 6b3441
    - onchanges:
Jacob Michalskie 6b3441
      - file: discourse_mail_transport
Jacob Michalskie 6b3441
    - watch_in:
Jacob Michalskie 6b3441
      - service: postfix
Jacob Michalskie 6b3441
    - require:
Jacob Michalskie 6b3441
      - pkg: postfix
Jacob Michalskie 6b3441
Sasi Olin 4663db
discourse_target:
Sasi Olin 4663db
  service.running:
Sasi Olin 4663db
    - name: discourse.target
Sasi Olin 4663db
    - enable: True
Sasi Olin 4663db
Sasi Olin 4663db
discourse_update_service:
Sasi Olin 4663db
  service.running:
Sasi Olin 4663db
    - name: discourse-update
Sasi Olin 4663db
    - enable: True
Sasi Olin 4663db
Sasi Olin 4663db
discourse_puma_service:
Sasi Olin 4663db
  service.running:
Sasi Olin 4663db
    - name: discourse-puma
Sasi Olin 4663db
    - enable: True
Sasi Olin 4663db
Sasi Olin 4663db
discourse_sidekiq_service:
Sasi Olin 4663db
  service.running:
Sasi Olin 4663db
    - name: discourse-puma
Sasi Olin 4663db
    - enable: True
Sasi Olin 4663db
Sasi Olin 4663db
discourse_restart:
Sasi Olin 4663db
  module.wait:
Sasi Olin 4663db
    - name: service.restart
Sasi Olin 4663db
    - m_name: discourse.target
Sasi Olin 4663db
    - require:
Sasi Olin 4663db
      - service: discourse_update_service
Sasi Olin 4663db
      - service: discourse_puma_service
Sasi Olin 4663db
      - service: discourse_sidekiq_service
Sasi Olin 4663db
      - service: discourse_target