diff --git a/.gitignore b/.gitignore deleted file mode 100644 index dade81e..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -Gemfile.lock -.bundled_gems/ diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 019213a..0000000 --- a/Gemfile +++ /dev/null @@ -1,15 +0,0 @@ -source 'https://rubygems.org' - -if File.exists?('/home/zuul/src/git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper') - gem_checkout_method = {:path => '/home/zuul/src/git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper'} -else - gem_checkout_method = {:git => 'https://git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper'} -end -gem_checkout_method[:require] = false - -group :development, :test, :system_tests do - gem 'puppet-openstack_infra_spec_helper', - gem_checkout_method -end - -# vim:ft=ruby diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d645695..0000000 --- a/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..ec889a9 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +This project is no longer maintained. + +The contents of this repository are still available in the Git +source code management system. To see the contents of this +repository before it reached its end of life, please check out the +previous commit with "git checkout HEAD^1". + +For any further questions, please email +service-discuss@lists.opendev.org or join #opendev on OFTC. diff --git a/Rakefile b/Rakefile deleted file mode 100644 index 7f22329..0000000 --- a/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -require 'rubygems' -require 'puppetlabs_spec_helper/rake_tasks' -require 'puppet-lint/tasks/puppet-lint' -PuppetLint.configuration.fail_on_warnings = true -PuppetLint.configuration.send('disable_80chars') -PuppetLint.configuration.send('disable_autoloader_layout') -PuppetLint.configuration.send('disable_class_inherits_from_params_class') -PuppetLint.configuration.send('disable_class_parameter_defaults') \ No newline at end of file diff --git a/files/disallow_robots.txt b/files/disallow_robots.txt deleted file mode 100644 index 1f53798..0000000 --- a/files/disallow_robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: / diff --git a/manifests/app.pp b/manifests/app.pp deleted file mode 100644 index 05b0f85..0000000 --- a/manifests/app.pp +++ /dev/null @@ -1,21 +0,0 @@ -# Class: mediawiki::app -# -class mediawiki::app ($revision = 'origin/REL1_28'){ - vcsrepo { '/srv/mediawiki/w': - ensure => present, - provider => git, - source => 'https://gerrit.wikimedia.org/r/mediawiki/core.git', - revision => $revision, - } - exec { 'fetch_external_libraries' : - # https://www.mediawiki.org/wiki/Download_from_Git#Fetch_external_libraries - # note that the files this creates are tracked in .gitignore - command => '/usr/bin/composer update --no-dev', - cwd => '/srv/mediawiki/w', - refreshonly => true, - require => Class['mediawiki::php'], - subscribe => Vcsrepo['/srv/mediawiki/w'], - } -} - -# vim:sw=2:ts=2:expandtab:textwidth=79 diff --git a/manifests/extension.pp b/manifests/extension.pp deleted file mode 100644 index 5d5f1f6..0000000 --- a/manifests/extension.pp +++ /dev/null @@ -1,25 +0,0 @@ -define mediawiki::extension ( - $type = 'extension', - $ensure = latest, # keep up to date - $source = undef, # actual default conditionally applied below - $revision = 'origin/REL1_28', -) { - if $type != 'extension' and $type != 'skin' { - fail( '$type must be extension or skin' ) - } - if $source == undef { - # Set our actual default for $source here since we can't interpolate $type - # in it for the resource parameter default - $src = "https://gerrit.wikimedia.org/r/mediawiki/${type}s/${name}.git" - } else { - $src = $source - } - - vcsrepo { "/srv/mediawiki/w/${type}s/${name}": - ensure => $ensure, - provider => git, - source => $src, - revision => $revision, - require => Vcsrepo['/srv/mediawiki/w'], - } -} diff --git a/manifests/image_scaler.pp b/manifests/image_scaler.pp deleted file mode 100644 index 07fca4e..0000000 --- a/manifests/image_scaler.pp +++ /dev/null @@ -1,62 +0,0 @@ -# Class: mediawiki::image_scaler -# -class mediawiki::image_scaler { - # No ffmpeg - it should work without? If it's needed it could be a pain - # as Ubuntu doesn't package it for trusty - package { [ - 'djvulibre-bin', - 'ffmpeg2theora', - 'fonts-arphic-ukai', - 'fonts-arphic-uming', - 'fonts-farsiweb', - 'fonts-khmeros', - 'fonts-lao', - 'fonts-lohit-beng-bengali', - 'fonts-lohit-deva', - 'fonts-lohit-gujr', - 'fonts-lohit-guru', - 'fonts-lohit-knda', - 'fonts-lohit-mlym', - 'fonts-lohit-orya', - 'fonts-lohit-taml', - 'fonts-manchufont', - 'fonts-mgopen', - 'fonts-nafees', - 'fonts-sil-abyssinica', - 'fonts-sil-ezra', - 'fonts-sil-nuosusil', - 'fonts-sil-padauk', - 'fonts-takao-gothic', - 'fonts-takao-mincho', - 'fonts-thai-tlwg', - 'fonts-tibetan-machine', - 'ghostscript', - 'gsfonts', - 'imagemagick', - 'libogg0', - 'librsvg2-bin', - 'libtheora0', - 'libvips-tools', - 'libvorbisenc2', - 'netpbm', - 'oggvideotools', - 'texlive-fonts-recommended', - 'ttf-alee', - 'ttf-arabeyes', - 'ttf-kacst', - 'ttf-liberation', - 'ttf-linux-libertine', - 'ttf-sil-scheherazade', - 'ttf-ubuntu-font-family', - 'ttf-unfonts-extra', - 'ttf-wqy-zenhei', - 'xfonts-100dpi', - 'xfonts-75dpi', - 'xfonts-base', - 'xfonts-mplus', - 'xfonts-scalable', - ]: - ensure => present, - } - include tmpreaper -} diff --git a/manifests/init.pp b/manifests/init.pp deleted file mode 100644 index d2a8c2d..0000000 --- a/manifests/init.pp +++ /dev/null @@ -1,276 +0,0 @@ -# Class: mediawiki -# -class mediawiki( - $mediawiki_location = '/srv/mediawiki/w', - $mediawiki_cache_location = '/srv/mediawiki/cache', - $mediawiki_images_location = '/srv/mediawiki-data/images', - $role = 'all', - $site_hostname = $::fqdn, - $serveradmin = "webmaster@${::fqdn}", - $ssl_cert_file = undef, - $ssl_cert_file_contents = undef, - $ssl_chain_file = undef, - $ssl_chain_file_contents = undef, - $ssl_key_file = undef, - $ssl_key_file_contents = undef, - $wg_recaptchasitekey = undef, - $wg_recaptchasecretkey = undef, - $wg_googleanalyticsaccount = undef, - $wg_dbserver = 'localhost', - $wg_dbname = 'wikidb', - $wg_dbuser = 'wikiuser', - $wg_dbpassword = undef, - $wg_secretkey = undef, - $wg_upgradekey = undef, - $wg_sitename = undef, - $wg_logo = undef, - $favicon_path = undef, - $wg_openidforcedprovider = 'https://login.ubuntu.com/+openid', - $disallow_robots = false, -) { - - if ($role == 'app' or $role == 'all') { - # This is equivalent to apache::dev which is not puppet3 - # compatible with puppetlabs-apache 0.0.4: - package { 'apache2-dev': - ensure => present, - } - - file { '/srv/mediawiki': - ensure => directory, - } - - file { $mediawiki_cache_location: - ensure => directory, - recurse => true, - owner => 'www-data', - group => 'www-data', - require => File['/srv/mediawiki'], - } - - file { '/srv/mediawiki-data': - ensure => directory, - } - - file { $mediawiki_images_location: - ensure => directory, - recurse => true, - owner => 'www-data', - group => 'www-data', - require => File['/srv/mediawiki-data'], - } - - file { '/srv/mediawiki/Settings.php': - ensure => file, - content => template('mediawiki/Settings.php.erb'), - group => 'www-data', - mode => '0640', - owner => 'root', - require => File['/srv/mediawiki'], - } - - if $disallow_robots == true { - file { '/srv/mediawiki/robots.txt': - ensure => file, - group => 'root', - mode => '0444', - owner => 'root', - source => 'puppet:///modules/mediawiki/disallow_robots.txt', - require => File['/srv/mediawiki'], - } - } - - include httpd - include mediawiki::php - include mediawiki::app - - mediawiki::extension { - [ - 'AntiSpoof', - 'Babel', - 'CategoryTree', - 'CirrusSearch', - 'Cite', - 'CodeEditor', - 'Collection', - 'ConfirmEdit', - 'Echo', - 'Elastica', - 'Gadgets', - 'Mantle', - 'MobileFrontend', - 'Nuke', - 'OpenID', - 'ParserFunctions', - 'Renameuser', - 'ReplaceText', - 'Scribunto', - 'SmiteSpam', - 'SpamBlacklist', - 'SubPageList3', - 'SyntaxHighlight_GeSHi', - 'Translate', - 'UniversalLanguageSelector', - 'WikiEditor', - 'cldr', - 'googleAnalytics', - ]: - } - - mediawiki::extension { 'strapping': - type => 'skin', - source => 'https://gerrit.wikimedia.org/r/mediawiki/skins/mediawiki-strapping.git', - } - - file { '/srv/mediawiki/w/LocalSettings.php': - ensure => link, - target => '/srv/mediawiki/Settings.php', - require => Vcsrepo['/srv/mediawiki/w'], - } - - package { ['libapache2-mod-php', - 'lua5.2']: - ensure => present, - } - - # To use the standard ssl-certs package snakeoil certificate, leave both - # $ssl_cert_file and $ssl_cert_file_contents empty. To use an existing - # certificate, specify its path for $ssl_cert_file and leave - # $ssl_cert_file_contents empty. To manage the certificate with puppet, - # provide $ssl_cert_file_contents and optionally specify the path to use for - # it in $ssl_cert_file. - if ($ssl_cert_file == undef) and ($ssl_cert_file_contents == undef) { - $cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem' - if ! defined(Package['ssl-cert']) { - package { 'ssl-cert': - ensure => present, - before => Httpd::Vhost[$site_hostname], - } - } - } else { - if $ssl_cert_file == undef { - $cert_file = "/etc/ssl/certs/${::fqdn}.pem" - if ! defined(File['/etc/ssl/certs']) { - file { '/etc/ssl/certs': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - before => File[$cert_file], - } - } - } else { - $cert_file = $ssl_cert_file - } - if $ssl_cert_file_contents != undef { - file { $cert_file: - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => $ssl_cert_file_contents, - before => Httpd::Vhost[$site_hostname], - } - } - } - - # To avoid using an intermediate certificate chain, leave both - # $ssl_chain_file and $ssl_chain_file_contents empty. To use an existing - # chain, specify its path for $ssl_chain_file and leave - # $ssl_chain_file_contents empty. To manage the chain with puppet, provide - # $ssl_chain_file_contents and optionally specify the path to use for it in - # $ssl_chain_file. - if ($ssl_chain_file == undef) and ($ssl_chain_file_contents == undef) { - $chain_file = undef - } else { - if $ssl_chain_file == undef { - $chain_file = "/etc/ssl/certs/${::fqdn}_intermediate.pem" - if ! defined(File['/etc/ssl/certs']) { - file { '/etc/ssl/certs': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - before => File[$chain_file], - } - } - } else { - $chain_file = $ssl_chain_file - } - if $ssl_chain_file_contents != undef { - file { $chain_file: - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => $ssl_chain_file_contents, - before => Httpd::Vhost[$site_hostname], - } - } - } - - # To use the standard ssl-certs package snakeoil key, leave both - # $ssl_key_file and $ssl_key_file_contents empty. To use an existing key, - # specify its path for $ssl_key_file and leave $ssl_key_file_contents empty. - # To manage the key with puppet, provide $ssl_key_file_contents and - # optionally specify the path to use for it in $ssl_key_file. - if ($ssl_key_file == undef) and ($ssl_key_file_contents == undef) { - $key_file = '/etc/ssl/private/ssl-cert-snakeoil.key' - if ! defined(Package['ssl-cert']) { - package { 'ssl-cert': - ensure => present, - before => Httpd::Vhost[$site_hostname], - } - } - } else { - if $ssl_key_file == undef { - $key_file = "/etc/ssl/private/${::fqdn}.key" - if ! defined(File['/etc/ssl/private']) { - file { '/etc/ssl/private': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0700', - before => File[$key_file], - } - } - } else { - $key_file = $ssl_key_file - } - if $ssl_key_file_contents != undef { - file { $key_file: - ensure => present, - owner => 'root', - group => 'root', - mode => '0600', - content => $ssl_key_file_contents, - before => Httpd::Vhost[$site_hostname], - } - } - } - - ::httpd::vhost { $site_hostname: - port => 443, # Is required despite not being used. - docroot => '/var/www', - priority => '50', - template => 'mediawiki/apache/mediawiki.erb', - ssl => true, - vhost_name => $site_hostname, - } - httpd_mod { 'rewrite': - ensure => present, - before => Service['httpd'], - } - httpd_mod { 'expires': - ensure => present, - before => Service['httpd'], - } - } - if ($role == 'image-scaler' or $role == 'all') { - include mediawiki::image_scaler - include mediawiki::php - include mediawiki::app - } -} - -# vim:sw=2:ts=2:expandtab:textwidth=79 diff --git a/manifests/php.pp b/manifests/php.pp deleted file mode 100644 index 4d790d4..0000000 --- a/manifests/php.pp +++ /dev/null @@ -1,19 +0,0 @@ -# Class: mediawiki::php -# -class mediawiki::php { - package { [ - 'composer', # used by fetch_external_libraries in mediawiki::app - 'php', - 'php-apcu', - 'php-cli', - 'php-intl', - 'php-mbstring', - 'php-memcached', - 'php-mysql', - 'php-openid', - 'php-xml', - ]: - ensure => present, - } - # TODO: apc configuration -} diff --git a/metadata.json b/metadata.json deleted file mode 100644 index 89aeda3..0000000 --- a/metadata.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "openstackinfra-mediawiki", - "version": "0.0.1", - "author": "Openstack CI", - "summary": "Puppet module for mediawiki", - "license": "Apache 2.0", - "source": "https://git.openstack.org/openstack-infra/puppet-mediawiki.git", - "project_page": "http://docs.openstack.org/infra/system-config/", - "issues_url": "https://storyboard.openstack.org/#!/project/775", - "operatingsystem_support": [ - { "operatingsystem": "Ubuntu", "operatingsystemrelease": ["12.04"] } - ], - "requirements": [ - { "name": "pe", "version_requirement": ">= 3.2.0 < 3.4.0" }, - { "name": "puppet", "version_requirement": "3.x" } - ], - - "dependencies": [ - { "name": "puppetlabs/stdlib", "version_requirement": ">= 3.2.0" }, - { "name": "openstackinfra/httpd", "version_requirement": "0.x" }, - { "name": "openstackinfra/vcsrepo", "version_requirement": "= 0.0.8" } - ] -} diff --git a/spec/acceptance/nodesets/default.yml b/spec/acceptance/nodesets/default.yml deleted file mode 100644 index 3bb3e62..0000000 --- a/spec/acceptance/nodesets/default.yml +++ /dev/null @@ -1,11 +0,0 @@ -HOSTS: - ubuntu-server-1404-x64: - roles: - - master - platform: ubuntu-14.04-amd64 - box: puppetlabs/ubuntu-14.04-64-nocm - box_url: https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm - hypervisor: vagrant -CONFIG: - log_level: debug - type: git diff --git a/spec/acceptance/nodesets/nodepool-centos7.yml b/spec/acceptance/nodesets/nodepool-centos7.yml deleted file mode 100644 index c552874..0000000 --- a/spec/acceptance/nodesets/nodepool-centos7.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - centos-70-x64: - roles: - - master - platform: el-7-x86_64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/spec/acceptance/nodesets/nodepool-trusty.yml b/spec/acceptance/nodesets/nodepool-trusty.yml deleted file mode 100644 index 9fc624e..0000000 --- a/spec/acceptance/nodesets/nodepool-trusty.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-14.04-amd64: - roles: - - master - platform: ubuntu-14.04-amd64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/spec/acceptance/nodesets/nodepool-xenial.yml b/spec/acceptance/nodesets/nodepool-xenial.yml deleted file mode 100644 index 99dd318..0000000 --- a/spec/acceptance/nodesets/nodepool-xenial.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-16.04-amd64: - roles: - - master - platform: ubuntu-16.04-amd64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/templates/Settings.php.erb b/templates/Settings.php.erb deleted file mode 100644 index 33bfdd2..0000000 --- a/templates/Settings.php.erb +++ /dev/null @@ -1,341 +0,0 @@ - -$wgSitename = "<%= @wg_sitename %>"; -<% end %> - -## The URL base path to the directory containing the wiki; -## defaults for all runtime URL paths are based off of this. -## For more information on customizing the URLs -## (like /w/index.php/Page_title to /wiki/Page_title) please see: -## http://www.mediawiki.org/wiki/Manual:Short_URL -$wgScriptPath = "/w"; -$wgScriptExtension = ".php"; -$wgArticlePath = '/wiki/$1'; - -## The protocol and server name to use in fully-qualified URLs -$wgServer = "https://<%= @site_hostname %>"; - -## The relative URL path to the skins directory -$wgStylePath = "$wgScriptPath/skins"; - -<% if @wg_logo != nil %> -## The relative URL path to the logo. Make sure you change this from the -## default, or else you'll overwrite your logo when you upgrade! -$wgLogo = "<%= @wg_logo %>"; -<% end %> - -## UPO means: this is also a user preference option - -$wgEnableEmail = true; -$wgEnableUserEmail = true; # UPO -$wgRequirePasswordforEmailChange = false; - -$wgEmergencyContact = "<%= @serveradmin %>"; -$wgPasswordSender = "<%= @serveradmin %>"; - -$wgEnotifUserTalk = true; # UPO -$wgEnotifWatchlist = true; # UPO -$wgEmailAuthentication = true; - -## Database settings -$wgDBtype = "mysql"; -$wgDBserver = "<%= @wg_dbserver %>"; -$wgDBname = "<%= @wg_dbname %>"; -$wgDBuser = "<%= @wg_dbuser %>"; -$wgDBpassword = "<%= @wg_dbpassword %>"; - -# MySQL specific settings -$wgDBprefix = ""; - -# MySQL table options to use during installation or update -$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary"; - -# Experimental charset support for MySQL 5.0. -$wgDBmysql5 = false; - -# TODO: add a cron to run jobs and set this -#$wgJobRunRate = 0; - -# Disable showing IP in the header (which break frontend caching) -$wgShowIPinHeader = false; - -$wgDisableCounters = true; - -$wgCacheDirectory = "<%= @mediawiki_cache_location %>"; - -# New-style Object cache (and session) settings -$wgObjectCaches['memcached-pecl'] = array( - 'class' => 'MemcachedPeclBagOStuff', - #'serializer' => 'igbinary', - 'servers' => array( - '127.0.0.1:11000', - ) -); - -$wgMainCacheType = 'memcached-pecl'; -$wgParserCacheType = 'memcached-pecl'; -$wgMessageCacheType = 'memcached-pecl'; -$wgMemCachedPersistent = false; -$wgUseMemCached = true; -$wgMemCachedTimeout = 250000; -$wgMemCachedInstanceSize = 2000; -$wgSessionCacheType = 'memcached-pecl'; -$wgSessionsInObjectCache = true; - -## Old-style Shared memory settings -#$wgMainCacheType = CACHE_MEMCACHED; -#$wgParserCacheType = CACHE_MEMCACHED; -#$wgMessageCacheType = CACHE_MEMCACHED; -#$wgSessionsInMemcached = true; -#$wgMemCachedServers = array( '127.0.0.1:11000' ); - -#TODO: generate the interwiki cdb and place it in the cache directory; ugh, -# seems this is Wikimedia specific for now (bug 33395) -#$wgInterwikiCache = "$wgCacheDirectory/interwiki.cdb"; - -$wgCookieSecure = true; - -$wgAllowUserCss = true; -$wgAllowUserJs = true; - -## To enable image uploads, make sure the 'images' directory -## is writable, then set this to true: -$wgEnableUploads = false; -$wgUseImageMagick = true; -$wgImageMagickConvertCommand = "/usr/bin/convert"; -$wgUploadDirectory = "<%= @mediawiki_images_location %>"; -$wgFileExtensions[] = 'svg'; - -# InstantCommons allows wiki to use images from http://commons.wikimedia.org -$wgUseInstantCommons = false; - -## If you use ImageMagick (or any other shell command) on a -## Linux server, this will need to be set to the name of an -## available UTF-8 locale -$wgShellLocale = "en_US.utf8"; - -# Site language code, should be one of the list in ./languages/Names.php -$wgLanguageCode = "en"; - -$wgSecretKey = "<%= @wg_secretkey %>"; - -# Site upgrade key. Must be set to a string (default provided) to turn on the -# web installer while LocalSettings.php is in place -$wgUpgradeKey = "<%= @wg_upgradekey %>"; - -## For attaching licensing metadata to pages, and displaying an -## appropriate copyright notice / icon. GNU Free Documentation -## License and Creative Commons licenses are supported so far. -$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright -$wgRightsUrl = ""; -$wgRightsText = ""; -$wgRightsIcon = ""; - -# Path to the GNU diff3 utility. Used for conflict resolution. -$wgDiff3 = "/usr/bin/diff3"; - -# Query string length limit for ResourceLoader. You should only set this if -# your web server has a query string length limit (then set it to that limit), -# or if you have suhosin.get.max_value_length set in php.ini (then set it to -# that value) -$wgResourceLoaderMaxQueryLength = -1; - -# Only allow logged-in users to edit -$wgGroupPermissions['*']['edit'] = false; - -## Content suppression (for *really* nasty spam or DMCA notices) -# Allow sysops to hide revisions/log items from users -$wgGroupPermissions['sysop']['deleterevision'] = true; -$wgGroupPermissions['sysop']['createaccount'] = true; -# Allow members of the suppress group to hide usernames from users and Sysops -$wgGroupPermissions['suppress']['hideuser'] = true; -# Allow members of the suppress group to hide revisions/log items from users and Sysops -$wgGroupPermissions['suppress']['deleterevision'] = true; -$wgGroupPermissions['suppress']['suppressrevision'] = true; -# Allow members of the suppress group to see the supression log -$wgGroupPermissions['suppress']['suppressionlog'] = true; - -# Allow known-good users to be listed in an 'autopatrol' group so their -# edits are automatically marked as 'patrolled' -$wgGroupPermissions['autopatrol']['autopatrol'] = true; -# Autopatrol users are legit, so don't need a CAPTCHA -$wgGroupPermissions['autopatrol']['skipcaptcha'] = true; - -# Only let known-good users upload files -$wgGroupPermissions['user']['upload'] = false; -$wgGroupPermissions['autopatrol']['upload'] = true; - -# Only let known-good users move pages and files -$wgGroupPermissions['user']['move'] = false; -$wgGroupPermissions['autopatrol']['move'] = true; - -# Only let known-good users the write API -$wgGroupPermissions['user']['writeapi'] = false; -$wgGroupPermissions['autopatrol']['writeapi'] = true; - - -# rate limit page creation by non-verified users to 5 per day -$wgRateLimits['createpage']['user'] = array(5, 86400); - -# Useful for debugging purposes, and doesn't expose very sensitive info -$wgShowExceptionDetails = true; - -$wgEnableCreativeCommonsRdf = true; -$wgRightsPage = ""; -$wgRightsUrl = "http://creativecommons.org/licenses/by/3.0/"; -$wgRightsText = "Attribution 3.0 Unported (CC BY 3.0)"; -$wgRightsIcon = "{$wgStylePath}/common/images/cc-by.png"; - -$wgNamespacesWithSubpages[NS_MAIN] = 1; - -## Skins - -$wgSkipSkins = array("chick", "cologneblue", "nostalgia", "simple", "standard", "monobook", "modern", "myskin", "vector"); -require_once( "$IP/skins/strapping/strapping.php" ); -$wgDefaultSkin = "strapping"; -$wgStrappingSkinLogoLocation = 'navbar'; -$wgStrappingSkinLoginLocation = 'navbar'; -$wgStrappingSkinAnonNavbar = true; -$wgStrappingSkinUseStandardLayout = false; -$wgStrappingSkinDisplaySidebarNavigation = false; - -$wgExtraNamespaces[110] = 'Obsolete'; -$wgExtraNamespaces[111] = 'Obsolete_talk'; -$wgNamespacesWithSubpages[110] = true; - -## Extensions -# https://www.mediawiki.org/wiki/Extension:QuestyCaptcha -require_once( "$IP/extensions/ConfirmEdit/ConfirmEdit.php" ); - -#Enable ReCaptchaNoCaptcha -wfLoadExtensions( array( 'ConfirmEdit', 'ConfirmEdit/ReCaptchaNoCaptcha' ) ); -$wgCaptchaClass = 'ReCaptchaNoCaptcha'; -$wgReCaptchaSiteKey = "<%= @wg_recaptchasitekey %>"; -$wgReCaptchaSecretKey = "<%= @wg_recaptchasecretkey %>"; - -$wgMainCacheType = CACHE_ANYTHING; -$wgCaptchaTriggers['edit'] = true; -$wgCaptchaTriggers['create'] = true; -$wgCaptchaTriggers['createtalk'] = true; -$wgCaptchaTriggers['addurl'] = true; -$wgCaptchaTriggers['createaccount'] = true; -$wgCaptchaTriggers['badlogin'] = true; - - -#OpenID -require_once( "$IP/extensions/OpenID/OpenID.php" ); - -# Don't disallow non-openid logins -$wgOpenIDOnly = false; -# Automatically mark email addreses provided by openid as verified -$wgOpenIDTrustEmailAddress = true; -# When first-time logging-in with OpenID, use the part before the @ in any given -# e-mail address as the username if a nickname is not given by the OpenID -$wgOpenIDUseEmailAsNickname = true; -# Our servername -$wgTrustRoot = "https://<%= @site_hostname %>/"; -# Only allow login through a specific OpenID provider -$wgOpenIDForcedProvider = "<%= @wg_openidforcedprovider %>"; -$wgOpenIDAllowExistingAccountSelection = false; -$wgOpenIDAllowAutomaticUsername = false; - -require_once( "$IP/extensions/Renameuser/Renameuser.php" ); - -require_once( "$IP/extensions/WikiEditor/WikiEditor.php" ); -$wgDefaultUserOptions['usebetatoolbar'] = 1; -$wgDefaultUserOptions['usebetatoolbar-cgd'] = 1; - -# Add syntax highlighting and such to the editor when editing code -require "$IP/extensions/CodeEditor/CodeEditor.php"; - -require( "$IP/extensions/Scribunto/Scribunto.php" ); -$wgScribuntoDefaultEngine = 'luastandalone'; -$wgScribuntoUseGeSHi = true; -$wgScribuntoUseCodeEditor = true; -$wgScribuntoEngineConf['luastandalone']['luaPath'] = '/usr/bin/lua'; - -# Globally enableable Javascript gadgets -require_once( "$IP/extensions/Gadgets/Gadgets.php" ); - -require_once("$IP/extensions/CategoryTree/CategoryTree.php"); - -require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php"); - -# Syntax highlighting of in-content code via -require_once( "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php" ); - -# Proper citations -require_once( "$IP/extensions/Cite/Cite.php" ); - -# Extension which provides localised language names based on CLDR data -require_once( "$IP/extensions/cldr/cldr.php" ); - -# Extension to easily allow users to display languages they speak on their user pages -require_once( "$IP/extensions/Babel/Babel.php" ); - -# Interface for translating page contents -require_once( "$IP/extensions/Translate/Translate.php" ); -$wgGroupPermissions['user']['translate'] = true; -$wgTranslateDocumentationLanguageCode = 'info'; -$wgGroupPermissions['sysop']['pagetranslation'] = true; -$wgEnablePageTranslation = true; - -# Interface for creating pdfs and books -require_once("$IP/extensions/Collection/Collection.php"); -$wgGroupPermissions['user']['collectionsaveascommunitypage'] = true; -$wgGroupPermissions['user']['collectionsaveasuserpage'] = true; - -# Extension to allow admins to mass delete pages (useful for spam) -require_once("$IP/extensions/Nuke/Nuke.php"); - -# Prevent creation of usernames that are meant to spoof other users (useful for spam) -require_once( "$IP/extensions/AntiSpoof/AntiSpoof.php" ); - -include_once("$IP/extensions/Mantle/Mantle.php"); - -#TODO: add MobileFrontend - requires device detection, which means we need varnish -# Mobile view of the site -require_once("$IP/extensions/MobileFrontend/MobileFrontend.php"); -$wgMFAutodetectMobileView = true; - -require_once( "$IP/extensions/SubPageList3/SubPageList3.php" ); - -require_once( "$IP/extensions/ReplaceText/ReplaceText.php" ); -$wgGroupPermissions['sysop']['replacetext'] = true; - -require_once( "$IP/extensions/googleAnalytics/googleAnalytics.php" ); -$wgGoogleAnalyticsAccount = "<%= @wg_googleanalyticsaccount %>"; - -require_once( "$IP/extensions/Echo/Echo.php" ); - -# Disabled for now, due to weird interface positioning -require_once( "$IP/extensions/UniversalLanguageSelector/UniversalLanguageSelector.php" ); -$wgULSPosition = 'personal'; -$wgULSGeoService = true; - -require_once( "$IP/extensions/Elastica/Elastica.php" ); -require_once( "$IP/extensions/CirrusSearch/CirrusSearch.php" ); -$wgCirrusSearchServers = array( '127.0.0.1' ); -$wgCirrusSearchShardCount = array( 'content' => 5, 'general' => 5 ); -$wgSearchType = 'CirrusSearch'; - -# Extension:SpamBlacklist -require_once "$IP/extensions/SpamBlacklist/SpamBlacklist.php"; -$wgSpamBlacklistFiles = array( - "https://meta.wikimedia.org/w/index.php?title=Spam_blacklist&action=raw&sb_ver=1", - "https://en.wikipedia.org/w/index.php?title=MediaWiki:Spam-blacklist&action=raw&sb_ver=1" -); - -# Disable password based login -function disableSomeSpecialPages(&$list) { - unset($list['Userlogin']); - return true; -} -$wgHooks['SpecialPage_initList'][]='disableSomeSpecialPages'; - -# Extension:SmiteSpam -# https://www.mediawiki.org/wiki/Extension:SmiteSpam -require_once "$IP/extensions/SmiteSpam/SmiteSpam.php"; diff --git a/templates/apache/mediawiki.erb b/templates/apache/mediawiki.erb deleted file mode 100644 index 5d87dea..0000000 --- a/templates/apache/mediawiki.erb +++ /dev/null @@ -1,134 +0,0 @@ -# ************************************ -# Managed by Puppet -# ************************************ - -# Unconditionally redirect all HTTP traffic for this vhost to HTTPS - - ServerName <%= @vhost_name %> - ServerAdmin <%= scope['mediawiki::serveradmin'] %> - RewriteEngine On - RewriteRule ^/(.*) https://<%= @vhost_name %>/$1 [last,redirect=permanent] - LogLevel warn - ErrorLog /var/log/apache2/<%= @vhost_name %>_error.log - CustomLog /var/log/apache2/<%= @vhost_name %>_access.log combined - ServerSignature Off - - - - - ServerName <%= @vhost_name %> - ServerAdmin <%= scope['mediawiki::serveradmin'] %> - - SSLEngine on - SSLProtocol All -SSLv2 -SSLv3 - # Once the machine is using something to terminate TLS that supports ECDHE - # then this should be edited to remove the RSA+AESGCM:RSA+AES so that PFS - # only is guaranteed. - SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!AES256:!aNULL:!eNULL:!MD5:!DSS:!PSK:!SRP - SSLHonorCipherOrder on - SSLCertificateFile <%= scope['mediawiki::cert_file'] %> - SSLCertificateKeyFile <%= scope['mediawiki::key_file'] %> -<% unless [nil, :undef].include?(scope['mediawiki::chain_file']) %> - SSLCertificateChainFile <%= scope['mediawiki::chain_file'] %> -<% end %> - - RedirectMatch ^/$ https://<%= @vhost_name %>/wiki/ - - DocumentRoot <%= @docroot %> - - - Options FollowSymLinks - AllowOverride None - - - - Options Indexes FollowSymLinks MultiViews - AllowOverride None - Order allow,deny - allow from all - - - "> - # Ignore .htaccess files - AllowOverride None - - # Serve HTML as plaintext, don't execute SHTML - AddType text/plain .html .htm .shtml .php - - # Don't run arbitrary PHP code. - php_admin_flag engine off - - # Allow access to serve images - Require all granted - - - "> - Require all granted - - - - ExpiresActive On - "> - - ExpiresByType image/gif A2592000 - ExpiresByType image/png A2592000 - ExpiresByType image/jpeg A2592000 - ExpiresByType text/css A2592000 - ExpiresByType text/javascript A2592000 - ExpiresByType application/x-javascript A2592000 - ExpiresByType application/x-font-woff A2592000 - ExpiresByType image/svg+xml A2592000 - ExpiresByType application/vnd.ms-fontobject A2592000 - ExpiresByType application/x-font-ttf A2592000 - ## I think it's likely dangerous to enable this for the entire domain. - ## I'm nearly positive we only need to do so for the WebFonts. - ## For now I'm going to keep this disabled. - #Header add Access-Control-Allow-Origin "*" - - - - - AddType application/x-font-woff .woff - AddType application/vnd.ms-fontobject .eot - - # TTF doesn't have an official MIME type, but I really don't want to use application/octet-stream for it - AddType application/x-font-ttf .ttf - - Alias /w/images <%= scope['mediawiki::mediawiki_images_location'] %> - Alias /w <%= scope['mediawiki::mediawiki_location'] %> - Alias /wiki <%= scope['mediawiki::mediawiki_location'] %>/index.php - -<% if scope['mediawiki::favicon_path'] != nil %> - Alias /favicon.ico <%= scope['mediawiki::favicon_path'] %> - "> - Require all granted - -<% end %> - -<% if scope['mediawiki::disallow_robots'] == true %> - # Request that search engines not index this site - Alias /robots.txt /srv/mediawiki/robots.txt - - Require all granted - -<% end %> - - # Redirect old /Article_Name urls - RewriteEngine on -<% if scope['mediawiki::disallow_robots'] == true %> - RewriteCond %{REQUEST_URI} !^/robots.txt$ -<% end %> - RewriteCond %{REQUEST_URI} !^/w/ - RewriteCond %{REQUEST_URI} !^/wiki/ - RewriteRule ^/(.*)$ https://<%= @vhost_name %>/wiki/$1 [L,R] - - # Possible values include: debug, info, notice, warn, error, crit, - # alert, emerg. - LogLevel warn - - ErrorLog /var/log/apache2/<%= @vhost_name %>_error.log - CustomLog /var/log/apache2/<%= @vhost_name %>_access.log combined - - ServerSignature Off - -