wp-content/plugins/gantry/gantry.php
Gantry
Keep environment configuration in a file, so nobody has to remember what staging is supposed to have switched off.
== Description ==
Staging sends real emails to real customers roughly once per organisation. Gantry lets you declare, in a file committed to the repository, which options and plugins each environment has — and then enforces it on deploy rather than trusting a checklist.
A drift report shows what differs between the declared state and the live one, which is usually the fastest way to find out that someone deactivated a plugin on production three weeks ago to test something.
It reads WP_ENVIRONMENT_TYPE, so it agrees with core rather than inventing a parallel notion of what environment this is.
== Screenshots ==
Numbered the way they ship in /assets/. Click any one to see it full width.
== Installation ==
- Install and activate the plugin on every environment.
- Create
gantry.phpin your repository root and declare your environments. - Run
wp gantry applyfrom your deploy script.
Run wp gantry drift first. It changes nothing and tells you everything.
== Frequently asked questions ==
Does it store secrets?
No. Reference environment variables from the config file; Gantry resolves them at apply time and never writes them anywhere.
What if the config and the database disagree?
That is the drift report. Apply resolves it in favour of the file, which is the point of having one.
== Changelog ==
= 1.6.1 =
- Fixed: apply reported success when a declared plugin was missing from the filesystem.
= 1.6.0 =
- Drift report, and a --fail-on-drift flag for CI.
= 1.0.0 =
- First release.