Andrew Bogott has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/155789

Change subject: Random stab at getting wikitech config in here.
......................................................................

Random stab at getting wikitech config in here.

Questions:

- How to handle private values that are wikitech-specific?
- Should I really add wikitech-specific extensions to extension-list?
- How do I set wmfrealm properly on wikitech?
- How much of the random cruft in InitialiseSettings-wikitech should be
  generalized?

Change-Id: I2b9322c6dbb43375c420c064e20a129df5a7cfaf
---
A wmf-config/InitialiseSettings-wikitech.php
M wmf-config/InitialiseSettings.php
M wmf-config/extension-list
3 files changed, 255 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/89/155789/1

diff --git a/wmf-config/InitialiseSettings-wikitech.php 
b/wmf-config/InitialiseSettings-wikitech.php
new file mode 100644
index 0000000..6704de1
--- /dev/null
+++ b/wmf-config/InitialiseSettings-wikitech.php
@@ -0,0 +1,236 @@
+<?php
+# WARNING: This file is publically viewable on the web.
+#          Do not put private data here.
+
+/**
+ * This file is for overriding the default InitialiseSettings.php with our own
+ * stuff. Prefixing a setting key with '-' to override all values from
+ * InitialiseSettings.php
+ *
+ * Please wrap your code in functions to avoid tainting the global namespace.
+ */
+
+/**
+ * Main entry point to override production settings. Supports key beginning 
with
+ * a dash to completely override a setting.
+ */
+function WikitechOverrideSettings() {
+
+       /* From Settings.php on old wikitech*/
+
+       $wgEmailConfirmToEdit = true;
+       $wgUseTeX = false;
+       $wgEnableCreativeCommonsRdf = true;
+       $wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
+       $wgCacheDirectory = "$IP/cache";
+       $wgMainCacheType    = CACHE_MEMCACHED;
+       $wgMessageCacheType = CACHE_MEMCACHED;
+       $wgSessionsInMemcached = true;
+
+       # Anons can't edit
+       $wgGroupPermissions['*']['edit'] = false;
+
+       # Shellmanager is a Custom role for wikitech
+       $wgGroupPermissions['shellmanagers']['userrights'] = false;
+       $wgAddGroups['shellmanagers'] = array( 'shell' );
+
+       $wgGroupPermissions['contentadmin']['protect'] = true;
+       $wgGroupPermissions['contentadmin']['editprotected'] = true;
+       $wgGroupPermissions['contentadmin']['bigdelete'] = true;
+       $wgGroupPermissions['contentadmin']['delete'] = true;
+       $wgGroupPermissions['contentadmin']['undelete'] = true;
+       $wgGroupPermissions['contentadmin']['block'] = true;
+       $wgGroupPermissions['contentadmin']['blockemail'] = true;
+       $wgGroupPermissions['contentadmin']['patrol'] = true;
+       $wgGroupPermissions['contentadmin']['autopatrol'] = true;
+       $wgGroupPermissions['contentadmin']['import'] = true;
+       $wgGroupPermissions['contentadmin']['importupload'] = true;
+       $wgGroupPermissions['contentadmin']['upload_by_url'] = true;
+       $wgGroupPermissions['contentadmin']['movefile'] = true;
+       $wgGroupPermissions['contentadmin']['suppressredirect'] = true;
+       $wgGroupPermissions['contentadmin']['rollback'] = true;
+       $wgGroupPermissions['contentadmin']['browsearchive'] = true;
+       $wgGroupPermissions['contentadmin']['deletedhistory'] = true;
+       $wgGroupPermissions['contentadmin']['deletedtext'] = true;
+       $wgGroupPermissions['contentadmin']['autoconfirmed'] = true;
+
+
+       $wgNamespacesWithSubpages[NS_MAIN] = true;
+
+       $wgExtraNamespaces[110] = 'Obsolete';
+       $wgExtraNamespaces[111] = 'Obsolete_talk';
+       $wgNamespacesWithSubpages[110] = true;
+       $wgExtraNamespaces[112] = 'Ops';
+       $wgExtraNamespaces[113] = 'Ops_talk';
+       $wgNamespacesWithSubpages[112] = true;
+       $wgNamespacesWithSubpages[113] = true;
+       $wgContentNamespaces[] = 112;
+       $wgNamespacesToBeSearchedDefault[112] = true;
+
+       $wgGroupPermissions['bots']['skipcaptcha'] = true;
+       $wgCaptchaTriggers['addurl']        = false;
+
+       require_once( "$IP/extensions/DynamicSidebar/DynamicSidebar.php" );
+       include_once( "$IP/extensions/Validator/Validator.php" );
+       include_once( "$IP/extensions/SemanticMediaWiki/SemanticMediaWiki.php" 
);
+       include_once( "$IP/extensions/SemanticForms/SemanticForms.php" );
+
+       # SemanticResultFormats, an extra set of printers for SMW
+       require_once( 
"$IP/extensions/SemanticResultFormats/SemanticResultFormats.php" );
+
+       require_once( "Private.php" );
+       require_once( "Debug.php" );
+
+       /* from Local.php on old Wikitech */
+       $wgDBserver           = "virt1000.wikimedia.org";
+       $wgDBname             = "labswiki";
+
+       $wgServer             = "https://wikitech.wikimedia.org";;
+       $wgSitename           = "Wikitech";
+       $wgPasswordSenderName = "Wikitech Mail";
+
+       $wgCookieDomain       = "wikitech.wikimedia.org";
+
+       $wgLogo               = 
"https://wikitech.wikimedia.org/w/images/thumb/6/60/Wikimedia_labs_logo.svg/120px-Wikimedia_labs_logo.svg.png";;
+
+       # Only sysops can create new accounts.
+       $wgGroupPermissions['*']['createaccount'] = true;
+
+       $wgGroupPermissions['cloudadmin']['listall'] = true;
+       $wgGroupPermissions['cloudadmin']['manageproject'] = true;
+       $wgGroupPermissions['cloudadmin']['userrights'] = true;
+       $wgGroupPermissions['cloudadmin']['managednsdomain'] = true;
+       $wgGroupPermissions['cloudadmin']['manageglobalpuppet'] = true;
+       $wgGroupPermissions['cloudadmin']['accessrestrictedregions'] = true;
+       $wgGroupPermissions['shell']['loginviashell'] = true;
+
+       $wgImportSources[] = "mw";
+
+       enableSemantics('wikitech');
+
+       require_once ( "$IP/extensions/CheckUser/CheckUser.php" );
+
+       require_once( 
"$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
+       $wgAuth = new LdapAuthenticationPlugin();
+       $wgLDAPDomainNames = array( 'labs');
+       $wgLDAPServerNames = array( 'labs' => 'virt1000.wikimedia.org' );
+       $wgLDAPSearchAttributes = array( 'labs' => 'cn');
+       $wgLDAPBaseDNs = array( 'labs' => 'dc=wikimedia,dc=org' );
+       $wgLDAPUserBaseDNs = array( 'labs' => 'ou=people,dc=wikimedia,dc=org' );
+       $wgLDAPEncryptionType = array( 'labs' => 'tls');
+       $wgLDAPWriteLocation = array( 'labs' => 'ou=people,dc=wikimedia,dc=org' 
);
+       $wgLDAPAddLDAPUsers = array( 'labs' => true );
+       $wgLDAPUpdateLDAP = array( 'labs' => true );
+       $wgLDAPPasswordHash = array( 'labs' => 'clear' );
+       // 'invaliddomain' is set to true so that mail password options
+       // will be available on user creation and password mailing
+       $wgLDAPMailPassword = array( 'labs' => true, 'invaliddomain' => true );
+       $wgLDAPPreferences = array( 'labs' => array( "email"=>"mail" ) );
+       $wgLDAPUseFetchedUsername = array( 'labs' => true );
+       $wgLDAPLowerCaseUsernameScheme = array( 'labs' => false, 
'invaliddomain' => false );
+       $wgLDAPLowerCaseUsername = array( 'labs' => false, 'invaliddomain' => 
false );
+       // Only enable UseLocal if you need to promote an LDAP user
+       #$wgLDAPUseLocal = true;
+       $wgMinimalPasswordLength = 1;
+
+       require_once( "$IP/extensions/OATHAuth/OATHAuth.php" );
+
+       require_once( "$IP/extensions/OpenStackManager/OpenStackManager.php" );
+       $wgOpenStackManagerNovaKeypairStorage = 'ldap';
+       $wgOpenStackManagerNovaIdentityURI = 
'http://virt1000.wikimedia.org:35357/v2.0';
+       $wgOpenStackManagerLDAPDomain = 'labs';
+       $wgOpenStackManagerLDAPProjectBaseDN = 
'ou=projects,dc=wikimedia,dc=org';
+       $wgOpenStackManagerLDAPProjectGroupBaseDN = 
"ou=groups,dc=wikimedia,dc=org";
+       $wgOpenStackManagerLDAPInstanceBaseDN = 'ou=hosts,dc=wikimedia,dc=org';
+       $wgOpenStackManagerLDAPServiceGroupBaseDN = 
'ou=servicegroups,dc=wikimedia,dc=org';
+       $wgOpenStackManagerLDAPDefaultGid = '500';
+       $wgOpenStackManagerLDAPDefaultShell = '/usr/local/bin/sillyshell';
+       $wgOpenStackManagerLDAPUseUidAsNamingAttribute = true;
+       $wgOpenStackManagerDNSOptions = array(
+               'enabled' => true,
+               'servers' => array( 'primary' => 'virt1000.wikimedia.org' ),
+               'soa'     => array( 'hostmaster' => 'hostmaster.wikimedia.org', 
'refresh' => '1800', 'retry' => '3600', 'expiry' => '86400', 'minimum' => 
'7200' ),
+               );
+       $wgOpenStackManagerPuppetOptions = array(
+               'enabled' => true,
+               'defaultclasses' => array( 'base', 'role::labs::instance', 
'sudo::labs_project' ),
+               'defaultvariables' => array( 'realm' => 'labs' ),
+               );
+       $wgOpenStackManagerInstanceUserData = array(
+               'cloud-config' => array(
+                       #'puppet' => array( 'conf' => array( 'puppetd' => 
array( 'server' => 'wikitech.wikimedia.org', 'certname' => '%i' ) ) ),
+                       #'apt_upgrade' => 'true',
+                       'apt_update' => 'false', // Puppet will cause this
+                       #'apt_mirror' => 'http://ubuntu.wikimedia.org/ubuntu/',
+                       ),
+               'scripts' => array(
+                       # Used for new images
+                       'runpuppet.sh' => 
'/srv/org/wikimedia/controller/scripts/runpuppet.sh',
+                       # Used for pre-configured images
+                       'runpuppet-new.sh' => 
'/srv/org/wikimedia/controller/scripts/runpuppet-new.sh',
+                       ),
+               'upstarts' => array(
+                       'ttyS0.conf' => 
'/srv/org/wikimedia/controller/upstarts/ttyS0.conf',
+                       'ttyS1.conf' => 
'/srv/org/wikimedia/controller/upstarts/ttyS1.conf',
+                       ),
+               );
+       $wgOpenStackManagerDefaultSecurityGroupRules = array(
+               # Allow all traffic within the project
+               array( 'group' => 'default' ),
+               # Allow ping from everywhere
+               array( 'fromport' => '-1',
+                       'toport' => '-1',
+                       'protocol' => 'icmp',
+                       'range' => '0.0.0.0/0' ),
+               # Allow ssh from all projects
+               array( 'fromport' => '22',
+                       'toport' => '22',
+                       'protocol' => 'tcp',
+                       'range' => '10.0.0.0/8' ),
+               # Allow nrpe access from all projects (access is limited in 
config)
+               array( 'fromport' => '5666',
+                       'toport' => '5666',
+                       'protocol' => 'tcp',
+                       'range' => '10.0.0.0/8' ),
+               );
+       $wgOpenStackManagerInstanceBannedInstanceTypes = array(
+               "m1.tiny",
+               "s1.tiny",
+               "s1.small",
+               "s1.medium",
+               "s1.large",
+               "s1.xlarge",
+               "pmtpa-1",
+               "pmtpa-2",
+               "pmtpa-3",
+               "pmtpa-4",
+               "pmtpa-5",
+               "pmtpa-6",
+               "pmtpa-7",
+               "pmtpa-8",
+               "pmtpa-9",
+               "pmtpa-10",
+               "pmtpa-11"
+               );
+
+       # Enable doc links on the 'configure instance' page
+       $wgOpenStackManagerPuppetDocBase = 
'http://doc.wikimedia.org/puppet/classes/__site__/';
+
+       $wgOpenStackManagerProxyGateways = array('pmtpa' => '208.80.153.214', 
'eqiad' => '208.80.155.156');
+
+       # Restrict eqiad to a group
+       $wgOpenStackManagerRestrictedRegions = array();
+       $wgOpenStackManagerReadOnlyRegions = array();
+
+       $smwgNamespacesWithSemanticLinks[112] = true;
+       $smwgNamespacesWithSemanticLinks[NS_NOVA_RESOURCE] = true;
+       $wgNamespacesWithSubpages[NS_NOVA_RESOURCE] = true;
+       #$wgNamespacesToBeSearchedDefault[NS_NOVA_RESOURCE] = true;
+       $wgNamespacesToBeSearchedDefault[NS_HELP] = true;
+
+       #require_once("$IP/extensions/OpenID/OpenID.php");
+       $wgOpenIDClientOnly = false;
+       $wgHideOpenIDLoginLink = true;
+       $wgOpenIDConsumerAllow = '';
+       $wgOpenIDConsumerDenyByDefault = true;
+}
diff --git a/wmf-config/InitialiseSettings.php 
b/wmf-config/InitialiseSettings.php
index 30a4b34..1817843 100644
--- a/wmf-config/InitialiseSettings.php
+++ b/wmf-config/InitialiseSettings.php
@@ -1836,6 +1836,7 @@
         'execwiki' => '/mnt/upload7/private/execwiki',
         'transitionteamwiki' => '/mnt/upload7/private/transitionteamwiki',
         'iegcomwiki' => '/mnt/upload7/private/iegcomwiki',
+        'wikitech' => "/srv/org/wikimedia/controller/wikis/images";
 ),
 
 'wgImgAuthUrlPathMap' => array(
@@ -9977,6 +9978,7 @@
        'wiktionary' => '//bits.wikimedia.org/apple-touch/wiktionary.png',
 
        'enwiktionary' => '//bits.wikimedia.org/apple-touch/wiktionary/en.png', 
// bug 46431
+       'wikitech' => '/Wikitech-apple-touch-icon.png',
 ),
 
 'wgUserEmailUseReplyTo' => array(
@@ -11620,6 +11622,7 @@
        # and comment out the one after that
        #'default' => CACHE_MEMCACHED,
        'default' => 'mysql-multiwrite',
+       'wikitech' => CACHE_MEMCACHED,
 ),
 
 'wgLanguageConverterCacheType' => array(
@@ -11696,6 +11699,7 @@
        'trwiki' => true, // bug 38227
        'urwiki' => true, // bug 40848
        'viwiki' => true, // bug 48878
+       'wikitech' => true,
        'zhwiki' => true, // bug 30362
 ),
 'wmgWikiLoveDefault' => array(
@@ -12986,6 +12990,7 @@
 'wmgUseEcho' => array(
        'default' => false,
        'echowikis' => true,
+       'wikitech' => true,
 ),
 'wmgEchoEnableEmailBatch' => array(
        'default' => true,
@@ -13810,3 +13815,9 @@
        require( "$wmfConfigDir/InitialiseSettings-labs.php" );
        wmfLabsOverrideSettings();
 }
+
+### Wikitech override #####
+if ( $wmfRealm == 'wikitech' ) {
+       require( "$wmfConfigDir/InitialiseSettings-wikitech.php" );
+       WikitechOverrideSettings();
+}
diff --git a/wmf-config/extension-list b/wmf-config/extension-list
index 66691b4..3d5bf61 100644
--- a/wmf-config/extension-list
+++ b/wmf-config/extension-list
@@ -32,6 +32,7 @@
 $IP/extensions/DismissableSiteNotice/DismissableSiteNotice.php
 $IP/extensions/DonationInterface/donationinterface_langonly.php
 $IP/extensions/DoubleWiki/DoubleWiki.php
+$IP/extensions/DynamicSidebar/DynamicSidebar.php
 $IP/extensions/Echo/Echo.php
 $IP/extensions/EducationProgram/EducationProgram.php
 $IP/extensions/Elastica/Elastica.php
@@ -60,6 +61,7 @@
 $IP/extensions/JsonConfig/JsonConfig.php
 $IP/extensions/LabeledSectionTransclusion/lst.php
 $IP/extensions/LandingCheck/LandingCheck.php
+$IP/extensions/LdapAuthentication/LdapAuthentication.php
 $IP/extensions/LiquidThreads/LiquidThreads.php
 $IP/extensions/Listings/Listings.php
 $IP/extensions/LocalisationUpdate/LocalisationUpdate.php
@@ -78,8 +80,10 @@
 $IP/extensions/NewUserMessage/NewUserMessage.php
 $IP/extensions/Nuke/SpecialNuke.php
 $IP/extensions/OAI/OAIRepo.php
+$IP/extensions/OATHAuth/OATHAuth.php
 $IP/extensions/OAuth/OAuth.php
 $IP/extensions/OpenSearchXml/OpenSearchXml.php
+$IP/extensions/OpenStackManager/OpenStackManager.php
 $IP/extensions/Oversight/HideRevision.php
 $IP/extensions/PagedTiffHandler/PagedTiffHandler.php
 $IP/extensions/PageImages/PageImages.php
@@ -102,6 +106,9 @@
 $IP/extensions/Scribunto/Scribunto.php
 $IP/extensions/SearchExtraNS/SearchExtraNS.php
 $IP/extensions/SecurePoll/SecurePoll.php
+$IP/extensions/SemanticForms/SemanticForms.php
+$IP/extensions/SemanticMediaWiki/SemanticMediaWiki.php
+$IP/extensions/SemanticResultFormats/SemanticResultFormats.php
 $IP/extensions/ShortUrl/ShortUrl.php
 $IP/extensions/SiteMatrix/SiteMatrix.php
 $IP/extensions/Solarium/Solarium.php
@@ -126,6 +133,7 @@
 $IP/extensions/UniversalLanguageSelector/UniversalLanguageSelector.php
 $IP/extensions/UploadWizard/UploadWizard.php
 $IP/extensions/UserMerge/UserMerge.php
+$IP/extensions/Validator/Validator.php
 $IP/extensions/VectorBeta/VectorBeta.php
 $IP/extensions/VipsScaler/VipsScaler.php
 $IP/extensions/VipsScaler/VipsTest.php

-- 
To view, visit https://gerrit.wikimedia.org/r/155789
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2b9322c6dbb43375c420c064e20a129df5a7cfaf
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Andrew Bogott <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to