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