Add Composer, Mermaid extension

This commit is contained in:
2018-06-01 17:04:15 +02:00
parent 9c0ce30780
commit af6fe37e0b
16 changed files with 701 additions and 0 deletions

View File

@@ -9,5 +9,6 @@ version '0.1.0'
depends "mediawiki"
depends "ark"
depends "backup"
depends "composer"
depends "kosmos-nginx"
depends "kosmos-base"

View File

@@ -9,6 +9,7 @@
include_recipe 'apt'
include_recipe 'ark'
include_recipe 'composer'
# FIXME: For now run the update script manually after updating:
#
@@ -93,10 +94,16 @@ nginx_site 'mediawiki' do
enable true
end
#
# Extensions
#
mediawiki_credentials = Chef::EncryptedDataBagItem.load('credentials', 'mediawiki')
#
# Cleantalk Antispam
#
ark "antispam" do
url "https://github.com/CleanTalk/mediawiki-antispam/archive/1.8.zip"
path "#{node['mediawiki']['webdir']}/extensions/Antispam"
@@ -106,7 +113,10 @@ ark "antispam" do
action :dump
end
#
# MediawikiHubot extension
#
# requires curl extension
if platform?('ubuntu') && node[:platform_version].to_f < 16.04
package "php5-curl"
@@ -174,10 +184,40 @@ $wgArticlePath = "/$1";
"$wgCTAccessKey = \"#{mediawiki_credentials['antispam_key']}\";")
file.insert_line_if_no_match(/MediawikiHubot\.php/,
"require_once \"$IP/extensions/MediawikiHubot/MediawikiHubot.php\";")
file.insert_line_if_no_match(/Mermaid/,
"wfLoadExtension( 'Mermaid' );")
file.write_file
end
end
#
# Composer dependencies
#
file "#{node['mediawiki']['webdir']}/composer.local.json" do
requires = { "require": {
"mediawiki/mermaid": "~1.0"
}}.to_json
content requires
owner node['nginx']['user']
group node['nginx']['group']
end
composer_project node['mediawiki']['webdir'] do
dev false
quiet true
prefer_dist false
user node['nginx']['user']
group node['nginx']['group']
action :install
end
#
# Backup
#
unless node.chef_environment == "development"
node.override["backup"]["mysql"]["host"] = "localhost"
node.override["backup"]["mysql"]["username"] = "root"