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 856cd0
{% set mediawiki_1_27 = salt['pillar.get']('mediawiki_1_27:wikis', {}) %}
Christian Boltz 856cd0
Christian Boltz 856cd0
# create /srv/www/$lang.opensuse.org and all symlinks and directories needed in it
Christian Boltz 856cd0
{% for wiki, data in mediawiki_1_27.items() %}
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 856cd0
{% set mediawiki_1_27_wwwrun_dirs = [ 'cache', 'tmp', 'public/images' ] %}
Christian Boltz 856cd0
Christian Boltz 856cd0
{% for dir in mediawiki_1_27_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 adbc27
    {% if wiki == 'en-test' %}
Christian Boltz adbc27
    # /usr/share/mediawiki_1_27--git/ is `git clone https://github.com/openSUSE/wiki/`
Christian Boltz adbc27
    # + symlinks to /usr/share/mediawiki_1_27/ for everything not in the git repo
Christian Boltz adbc27
    # (git clone and creating these symlinks needs to be done manually!)
Christian Boltz adbc27
    - target: /usr/share/mediawiki_1_27--git/
Christian Boltz adbc27
    {% else %}
Christian Boltz 856cd0
    - target: /usr/share/mediawiki_1_27/
Christian Boltz adbc27
    {% endif %}
Christian Boltz 856cd0
Christian Boltz 856cd0
{% set mediawiki_1_27_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 856cd0
{% for symlink in mediawiki_1_27_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 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 856cd0
      mysql_server: {{ pillar['mediawiki_1_27']['mysql_server'] }}
Christian Boltz 856cd0
      elasticsearch_server: {{ pillar['mediawiki_1_27']['elasticsearch_server'] }}
Christian Boltz 856cd0
      wiki: {{ wiki }}
Christian Boltz 856cd0
    - source: salt://profile/wiki/files/wiki_settings.php
Christian Boltz 856cd0
    - template: jinja
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