TryGhost/Ghost — pull request #1110 by rektide (2013-10-16 08:32:46+00:00)
Title: Accept a config filename as an optional parameter to Ghost start-up.

This feature pull-request permits a single argument to be passed into Ghost: a config filename to use, which will override the default ${appRoot}/config.js if specified.

This feature permits a single instance of Ghost to exist that any number of individual software users can use. Without this, any Ghost user needs a full checkout. For example, with this feature a sysadmin could install /opt/ghost read-only, and I could run `node /opt/ghost/index /home/rektide/.config/ghost/config.js` while my admin also starts `node /opt/ghost/index /srv/ghost/config.js`. Enabling this division between the software-package and a service's specific data is faithful to the Filesystem Hierarchy specs's division between /opt and /srv;
http://www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACKAGES
http://www.pathname.com/fhs/pub/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM

Briefly on implementation, this pull-request enhances config-loader's current role as a validation pass, promoting it's own exports with the values it validates. The remainder of Ghost points to the config-loader instead of having a hardcoded path to the config file.

Thank you. Please let me know if there's anything I can do to help facilitate this patch.