1.3.0
Hooks
It is now possible to add hooks that run before or after commands. The new --show-hook-names option shows all of the available hooks for a cli command while it is running. Hooks can be a command to run locally or on the servers, or a function.
Plugins
Plugins are npm packages that can add commands (commands can be run from the mup cli or by other plugins), hooks, and config validators. All of the included cli commands and task lists have been moved to plugins.
Changes to Deployment and Deployment validation
This is currently only enabled for the abernix/meteord docker image.
After the bundle is uploaded to each server, a new task is run called "Prepare bundle". It installs the Meteor npm dependencies, rebuilds native modules, and stores the result in a docker image. This has a few benefits:
- The time in
meteor.deployCheckWaitTimeno longer needs to include the time to install npm dependencies - When installing dependencies fails, it does not continuously restart until
meteor.deployCheckWaitTimeexpires, and running with--verboseshows the full logs fromnpm install - Dependencies are only installed once during each deploy. This means that
mup start,mup restart, andmup reconfigare all much faster.
Improved Support for Multiple Servers
mup restartrestarts only one server at a time- Add
--serversoption to list which servers to use - Add support for server specific env variables, which can be configured in
meteor.servers.<server name>.env
Config Changes
- The
meteorobject has been renamed toapp. Themeteorobject will be supported until Mup 2.0 - You can remove
mongo.portandmongo.oplogfrom your config since they have never been used
Docs
- Remove
meteor.docker.imagePort,mongo.port, andmongo.oplogfrom example configs - Document
meteor.docker.imagePort - Update documentation for
meteor.deployCheckWaitTime - Improve mongo, migration, proxy, and troubleshooting docs
Other Changes
- The reverse proxy can redirect
httptohttps, configured withproxy.ssl.forceSSL mup setupupdates Docker if it is older than 1.13- Add
mup proxy reconfig-sharedto update the server after changingproxy.sharedin the config. - Remove
meteor.deployCheckWaitTime,meteor.docker.imagePort, andmongo.portfrom default config - Renamed the
meteorobject in the default config toapp - Improve cli help output (commands have a description, command specific options are documented)
- Show link to docs when there are validation errors
- Show validation error when
server.pemis a path to a public key - Show validation error when
app.namehas a period - Improve some of the validation messages
- Fix validating
proxy.shared.clientUploadLimit - Mup displays message and exits if the node version is older than v4
- Remove unnecessary stack traces when the app's path is incorrect or
meteor buildfails - Add
mup meteor restartcommand - Remove
mup mongo dumpcommand since it did nothing