Christian Boltz 856cd0
#
Christian Boltz 856cd0
# create the DocumentRoot and the directories and symlinks needed for all wikis
Christian Boltz 856cd0
#
Christian Boltz 856cd0
Christian Boltz 37c275
{% set mediawiki = salt['pillar.get']('mediawiki:wikis', {}) %}
Christian Boltz 856cd0
Christian Boltz 856cd0
# create /srv/www/$lang.opensuse.org and all symlinks and directories needed in it
Christian Boltz 37c275
{% for wiki, data in mediawiki.items() %}
Christian Boltz 37c275
Christian Boltz 37c275
{% set version = data.get('version', salt['pillar.get']('mediawiki:default_version')) %}
Christian Boltz 856cd0
Christian Boltz 856cd0
/srv/www/{{ wiki }}.opensuse.org/public:
Christian Boltz 856cd0
  file.directory:
Christian Boltz 856cd0
    - user: root
Christian Boltz 856cd0
    - group: root
Christian Boltz 856cd0
    - mode: 755
Christian Boltz 856cd0
    - makedirs: True
Christian Boltz 856cd0
Christian Boltz 37c275
{% set mediawiki_wwwrun_dirs = [ 'cache', 'tmp', 'public/images' ] %}
Christian Boltz 856cd0
Christian Boltz 37c275
{% for dir in mediawiki_wwwrun_dirs %}
Christian Boltz 856cd0
/srv/www/{{ wiki }}.opensuse.org/{{ dir }}:
Christian Boltz 856cd0
  file.directory:
Christian Boltz 856cd0
    - user: wwwrun
Christian Boltz 856cd0
    - group: root
Christian Boltz 856cd0
    - mode: 755
Christian Boltz 856cd0
    - makedirs: True
Christian Boltz 856cd0
{%endfor%}
Christian Boltz 856cd0
Christian Boltz 856cd0
/srv/www/{{ wiki }}.opensuse.org/public/mediawiki_src:
Christian Boltz 856cd0
  file.symlink:
Christian Boltz 37c275
    - target: /usr/share/mediawiki_{{ version }}/
Christian Boltz 37c275
    # Note for en-test:
Christian Boltz 37c275
    # /usr/share/mediawiki_1_*-git/ is `git clone https://github.com/openSUSE/wiki/`
Christian Boltz 37c275
    # + symlinks to /usr/share/mediawiki_1_*/ for everything not in the git repo
Christian Boltz adbc27
    # (git clone and creating these symlinks needs to be done manually!)
Christian Boltz 856cd0
Christian Boltz 37c275
{% set mediawiki_symlinks = [ 'api.php', 'autoload.php', 'extensions', 'img_auth.php', 'includes', 'index.php', 'languages', 'load.php', 'maintenance',
Christian Boltz 856cd0
                                   'opensearch_desc.php', 'resources', 'serialized', 'skins', 'thumb_handler.php', 'thumb.php', 'vendor', ] %}
Christian Boltz 37c275
{% for symlink in mediawiki_symlinks %}
Christian Boltz 856cd0
/srv/www/{{ wiki }}.opensuse.org/public/{{ symlink }}:
Christian Boltz 856cd0
  file.symlink:
Christian Boltz 856cd0
    - target: mediawiki_src/{{ symlink }}
Christian Boltz 856cd0
{%endfor%}
Christian Boltz 856cd0
Christian Boltz 5bab69
{% if version != '1_27' %}  # don't deploy LocalSettings.php and wiki_settings.php for wikis still using 1_27
Christian Boltz 856cd0
/srv/www//{{ wiki }}.opensuse.org/public/LocalSettings.php:
Christian Boltz 856cd0
  file.managed:
Christian Boltz 856cd0
    - source: salt://profile/wiki/files/LocalSettings.php
Christian Boltz 856cd0
Christian Boltz 856cd0
/srv/www//{{ wiki }}.opensuse.org/wiki_settings.php:
Christian Boltz 856cd0
  file.managed:
Christian Boltz 856cd0
    - context:
Christian Boltz 856cd0
      data: {{ data }}
Christian Boltz 37c275
      mysql_server: {{ pillar['mediawiki']['mysql_server'] }}
Christian Boltz 37c275
      elasticsearch_server: {{ pillar['mediawiki']['elasticsearch_server'] }}
Christian Boltz 5bab69
      wgserver: {{ data.get('wgserver', 'https://' + wiki + '.opensuse.org') }}
Christian Boltz 856cd0
      wiki: {{ wiki }}
Christian Boltz 856cd0
    - source: salt://profile/wiki/files/wiki_settings.php
Christian Boltz 856cd0
    - template: jinja
Christian Boltz 5bab69
{% endif %}
Christian Boltz 856cd0
Christian Boltz a8e40c
/srv/www//{{ wiki }}.opensuse.org/public/robots.txt:
Christian Boltz a8e40c
  file.managed:
Christian Boltz e726fb
    - source: salt://profile/wiki/files/{{ data.get('robots', 'robots.txt') }}
Christian Boltz a8e40c
Christian Boltz 856cd0
{%endfor%}
Christian Boltz 856cd0
Christian Boltz 856cd0
# SQL commands to migrate old hit counter data
Christian Boltz 856cd0
# can be removed after updating all wikis to 1.27
Christian Boltz 856cd0
/srv/www/migrate-wiki-counter.sql:
Christian Boltz 856cd0
  file.managed:
Christian Boltz 856cd0
    - source: salt://profile/wiki/files/migrate-wiki-counter.sql