GithubHelp home page GithubHelp logo

shanmugamp7 / operations-mediawiki-config Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wikimedia/operations-mediawiki-config

0.0 1.0 0.0 132 KB

Github mirror of operations/mediawiki/config - our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing)

Home Page: https://gerrit.wikimedia.org

operations-mediawiki-config's Introduction

operations/mediawiki-config.git
-------------------------------

Files in this repository are almost a mirror of the Wikimedia Foundation
cluster configuration. Omitted files include passwords and security measures.

*.dblist
 List of databases. To vary by realm (e.g. 'production', 'labs'), add the realm
as a suffix before the extension, separated with a dash. Example:
	"all-labs.dblist".

wikiversions.dat, wikiversions.cdb
wikiversions-labs.dat, wikiversions-labs.cdb
 Let us associate a database with a specific copy of MediaWiki (generally a
branch). The .cdb file is updated by editing wikiversions.dat first and then
running multiversion/refreshWikiversionsCDB. To vary by realm, add a suffix
before the extension, e.g. "wikiversions-labs.dat".

docroot/
 The Apache document root for several of our VirtualHosts.

images/
 Shared pictures for the unified login system.

w/
 The "w/" directory in the docroot of any MediaWiki-serving VirtualHost.

tests/
 Hold some PHPUnit tests.

wmf-config/
 The MediaWiki configuration for all database. Think of it like a huge
LocalSettings.php.

wmf-config/CommonSettings.php
 Generic configuration such as including extensions or calling over piece
 of configuration. This is mostly shared among all wikis.

wmf-config/InitialiseSettings.php
 Per wiki configuration.

wmf-config/db.php
 Databases related configuration.

wmf-config/mc.php
 Memcached configuration.

wmf-config/*-labs.php
 Files used by the beta cluster to override production settings.


By using getRealmSpecificFilename(), from multiversion/MWRealm.php, one can
have configuration loaded depending on the realm or the datacenter the file is
executed on.  The function will test out several file suffixes and return the
filename of the first match.  The detection order is:

 - realm datacenter
 - realm
 - datacenter

Falling back to the filename given as argument.

Example, per datacenter:

 Given the files:
  - mc-pmtpa.php
  - mc.php

 The call to getRealmSpecificFilename( 'mc.php' ) will return:

  - on pmtpa: mc-pmtpa.php
  - on any other datacenter (e.g. eqiad): mc.php


Example per realm with a non php file extension:

 Given the files
  - db-production.log
  - db-labs.log

 The call to getRealmSpecificFilename( 'db.log' ) will return:

  - in a labs instance: 'db-labs.log'
  - on a production server: 'db-production.log'

A more complicated example:

 Given the files:
  - log-production.php
  - log-eqiad.php
  - log.php

 The call to getRealmSpecificFilename( 'log.php' ) will return:

  - in labs eqiad: 'log-eqiad.php'
  - in labs pmtpa: 'log.php'
  - in production pmtpa: 'log-production.php'
  - in production eqiad: 'log-production.php'

 The last case is because the realm takes precedence over the datacenter.
 You can also use a realm/datacenter suffix:
  'log-production-eqiad.php'.

You can find more examples in tests/multiversion/MWRealmTest.php.

operations-mediawiki-config's People

Contributors

reedy avatar hashar avatar maxsem avatar dereckson avatar aaronschulz avatar krinkle avatar atdt avatar tstarling avatar krenair avatar catrope avatar kaldari avatar atlight avatar seanpringle avatar filbertkm avatar awjrichards-zz avatar matthiasmullie avatar nikerabbit avatar bymerej avatar apergos avatar nemobis avatar jdforrester avatar jrobson avatar markbergsma avatar matmarex avatar raymondde avatar anomiex avatar jamesryanalexander avatar legoktm avatar vogone avatar spqrobin avatar

Watchers

Shanmugam Pachamuthu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.