puppet
Production Puppet code
Miraheze Puppet: production configuration for a wiki farm
The Puppet codebase that provisions and manages the servers behind Miraheze's free MediaWiki hosting.
What Miraheze is and runs
Miraheze is a nonprofit wiki farm operated by the WikiTide Foundation that offers free MediaWiki hosting, and it is run entirely by volunteers. The project states that it believes its code should be open source, and this repository is the production Puppet configuration that makes the service run. Puppet is a configuration management tool that declares the desired state of servers, and here it encodes how Miraheze provisions and maintains the machines behind thousands of wikis. With 22 stars and 63 forks, the repository is less about broad reuse and more about transparency: anyone can read exactly how a volunteer run infrastructure is assembled. The README is short, which fits a repo meant for the people who operate the farm rather than for a general audience hunting for a drop in wiki stack. Miraheze's nonprofit status as a 501(c)(3) organization shapes the ethos of the project, since free hosting sustained by volunteers benefits from publishing the exact configuration that keeps costs and downtime low. The README links to the Meta wiki for the broader organization, so a reader can see how the infrastructure fits the community that depends on it. Miraheze's nonprofit status as a 501(c)(3) organization shapes the ethos of the project, since free hosting sustained by volunteers benefits from publishing the exact configuration that keeps costs and downtime low for the community.
What the Puppet repo manages
The Puppet code in this repository is an assortment developed by hand and by reusing existing work. The README notes that it builds on PuppetLabs Forge modules and on code from the Wikimedia Foundation, with attributions kept inside the module directories where code is used unmodified or nearly so. That heritage is sensible: Wikimedia runs one of the largest MediaWiki deployments in the world, so borrowing its battle tested patterns saves effort and avoids mistakes. The configuration is tested and developed on Debian Trixie and runs in production on the same release, which gives a single, clear target platform. The README states the code works out of the box as long as Puppet is installed locally, so an operator can apply the same manifests that run in production to a test machine without surprises from OS drift. The README also points out that if attribution is missing for reused code, a contributor can open a request to add it, which keeps the licensing honest across the mixed sources. Because the same Debian release is used in both dev and production, a change validated locally is very likely to behave the same way when it reaches the live servers. Because the same Debian release is used in both dev and production, a change validated locally is very likely to behave the same way when it reaches the live servers that host thousands of wikis.
Contributing and licensing
Contribution is welcome through pull requests, and the README invites them directly. Issue tracking, however, lives outside GitHub on Phorge, Miraheze's own tracker, where new issues can be opened through a form link. Security reports follow a separate path: the project asks that vulnerabilities not be posted publicly on wikis or bug trackers, and instead be sent to a dedicated security address or filed as a security tagged task. Licensing is the GNU General Public License version 3, with the full text in LICENSE.md. The ten open issues at the time of writing suggest a small but live backlog. For a free hosting service sustained by volunteers, publishing the exact production configuration is both a transparency statement and a practical aid to the operators who keep the wikis online. The README rounds out the contribution guidance with a link to the project security page so reporters know the proper channel before disclosing anything sensitive. The split between GitHub for code and Phorge for issues is a deliberate choice, and the README explains it up front so newcomers do not waste time opening issues in the wrong place. The split between GitHub for code and Phorge for issues is a deliberate choice, and the README explains it up front so newcomers do not waste time opening issues in the wrong place before they start contributing.
Editorial conclusion
Miraheze's Puppet repository is licensed under GPL-3.0 and is developed and run on Debian Trixie, reusing modules from PuppetLabs Forge and the Wikimedia Foundation.
Community notes