Deployment tooling/Cabal/2015-04-13

April 13th

 * Services need better visibility and hookability:
 * Better feedback and interactivity from the git deploy cli
 * one aspect of this is non-blocking interactivity of git deploy, it should report thorough, real-time feedback and allow deployer to take actions during the deployment process, not just after
 * Needs to have:
 * rolling restarts
 * 'canary' testing
 * easy semi-automatic rollback when things go bad
 * emergency abort if deployer notices something went wrong
 * ability to isolate and investigate failed nodes when the majority of nodes succeed but a few failed.

Homework:
 * Mukunda and Chad will work further on the mediawiki/core and extensions release branching strategy
 * Mukunda is experimenting with git-subtree to create a composite release repo with all deployed extensions merged into one place
 * Tyler will attempt to document the hooks in trebuchet which we can use to provide custom behavior for individual services or projects
 * This is already in the trebuchet core and it's configurable, just not very discoverable right now
 * Dan to sit in on deployments to get a better sense for the current practices