Releases: zodern/meteor-up
1.4.3
- Support different settings.json for different servers (@Farkal)
mup validate
shows message when config is valid- Fix crash when the
app
property exists in the config, butapp.path
is missing. - The
Prepare Bundle
task is now only shown whenPrepare Bundle
is enabled - Hide
No such container
errors in the script for Prepare Bundle since they are normal and could cause confusion on what caused the script to fail - Add validation warning when using the built-in mongo and the MONGO_URL looks like it is for an external database
- Improve error messages when a config or plugin is unable to import a module
- Fix postinstall script for windows
Plugins
- Improve error message when an executeScript task has an invalid script path
- The config supplied to validator functions now has a
_origionalConfig
property, with the config before it was normalized or prepared by plugins - Fix the meteor plugin preparing the config when the app type isn't
meteor
- Fix validator utils
addLocation
ending location with a period when a detail's path is empty
1.4.2
- Fix
Start Meteor
task always succeeding despite errors starting the app when usingPrepare Bundle
- Fix
Verifying Deployment
whenapp.env.PORT
is set - Fix
Verifying Deployment
when using the host network - Fix
proxy.setup
when runningmup setup
for the first time - Fix
app.docker.imagePort
documentation
Plugins
- Add
pluginApi.commandHistory
to check which commands have run
1.4.1
1.4
1.4 - February 19, 2018
Status
The mup status
command gives an overview of what is running on the servers and shows any problems plugins detected.
Reverse Proxy
- The reverse proxy is no longer an "experimental feature"
- Add support for customizing the generated nginx config
- Add
mup proxy nginx-config
command to view the generated config HTTP_FORWARDED_COUNT
defaults to 1 when using the reverse proxy (@jehartzog)- Fix verifying deployment when using the reverse proxy.
- Fix deploying when
app.env.PORT
is set to a value other than 80 - Fix setting up proxy when using a non-root user
Mongo
- Oplog is automatically enabled. To use, set
app.env.MONGO_OPLOG_URL
tomongodb://mongodb/local
(@edemaine) - The
Start Mongo
task now waits until mongo has sucessfully started before finishing - If mongo fails to start, the
Start Mongo
task will now fail
Depreciations
meteor.ssl
, meteor.nginx
, and meteor.docker.imageFrontendServer
are depreciated. It uses a different implementation for custom certificates and lets encrypt, each with different features and restrictions. Also, the custom certificate implementation has security problems. The reverse proxy should be used instead. It doesn't have the security problems, uses the same implementation for custom certificates and lets encrypt, and has many additional features. Learn how to use the reverse proxy in the docs.
proxy.shared.clientUploadLimit
is depreciated. Use proxy.clientUploadLimit
instead, which allows each app to have a different value.
Other Changes
mup init
will create a.deploy
folder when run in the same folder as a Meteor app- When mup can find a meteor app near to where
mup init
is run, the default config'sapp.path
will be the path to that app - When a deploy fails, the last 200 instead of 100 lines of the app's logs are shown
- More of the output is shown when a command fails
- When copying a file fails with the error
No such file
, it will tell the user to runmup setup
to fix it reconfig
hooks will now run duringmup deploy
--show
is no longer needed to show the config whenmup validate --scrub
is run- Add section to readme about Meteor compatibility
- Initial work has been done to support Docker Swarm
- When there is only one server,
mup ssh
will not require the name of a server - Add
zodern/meteor
to list of images that Prepare Bundle is automatically enabled for - If the app's docker container is restarting during 10 checks, the Deployment Verifier will revert the app without waiting the full time in
deployCheckWaitTime
- Some of Mup's dependencies use Buffer.alloc. When the version of node used to run mup is missing the function, mup will show a message explaining the problem and exit
- Added 10 second timeout to the curl command in the Deployment Verifier
- Fix retry logic for the copy file task
- Fix
mup restart
andmup meteor restart
when config has anapp
object instead ofmeteor
- Fix running Prepare Bundle when image already has a
/built_app
folder - Fix alignment of list of servers when running
mup ssh
without specifying a server - Fix showing stack trace of errors with old versions of Node
- Fix plugins preparing the config multiple times
- Fix loading locally installed plugins
npm install
will still succeed even if Open Collectives's post-install hook fails
Docs
- Document using a private docker registry (@justinr1234)
- Document
HTTP_FORWARDED_COUNT
(@jehartzog) - Change
app.buildOptions.debug
tofalse
in example configs - Add section to readme about changing the docker image
- Add the
zodern:meteor
image to list of docker images - Improve the style of tables in the docs
Plugins
- list.executeScript supports server specific variables
- Using the
post.status
hook, plugins can show their status - Plugins can add a
solution
property to errors. Mup will show the solution in yellow before exiting - Plugins can add a depreciation warning while validating a config with
utils.addDepreciation
- Validator utils support joi v11, v12, and v13 in addition to joi v10.
1.3.6
1.3.5
- Fix tar errors
- The validation message shown when the
servers
object is missing from the config has been removed since some deployment plugins might not need it - The config created by
mup init
has the correct docker image for Meteor 1.6 - Add table to docs that shows which docker image to use for each Meteor version
Plugins
- The remaining Meteor functionality has been removed from the default plugin, allowing plugins to completely take over deploying and managing the app when
app.type
in the config is set to something besidesmeteor
1.3.4
- The exit code for
mup validate
is now 1 when there are validation errors - Fix changing proxy's clientUploadLimit with
proxy.shared.clientUploadLimit
- Added a
--scrub
option tomup validate
, which when used with--show
shows the config with most of the sensitive information removed mup mongo logs
accepts the same options asmup logs
and other log commands- Use npm-shrinkwrap to prevent #757 from happening again
- Hide docker error when trying to roll back and checking if an image exists. It is handled and normal, but could be confused with the reason for the app failing to start
Plugins and Hooks
- Building the app (but not archiving it) was moved to a new command
meteor.build
, which is run bymeteor.deploy
andmeteor.push
. This allows plugins or hooks to modify the bundle before it is archived and uploaded to the servers. - Plugins can export a
scrubConfig(config, utils)
function, which should return the config with all sensitive information removed api.scrubConfig()
was added, which returns the config after modified by anyscrubConfig
functions from pluginsapi.validateConfig
only shows the errors on the console the first time it is runMODULE_NOT_FOUND
errors are now shown when a plugin fails to load due to being unable to resolve a module
Docs
- Color, font, and spacing changes were made to the docs. It should look nicer and be easier to read.
- Fixed grammer and capitalization
- Many example configs in the docs are validated with
mup validate
- Many example configs show more of the config surrounding the section being documented
1.3.3
- Add
mup validate
command, which validates the config. Has--show
option which shows the config after it has been normalized and modified by plugin'sprepareConfig
functions - Add
mup proxy logs-le
to view the Let's Encrypt logs - Fix mup ignoring
app.dockerImage
in the config when using Mongo, the reverse proxy, or Redis - Fix error encountered during Verifying SSL Certificates after it had failed previously due to a docker container still running
- Give more details when unable to load settings.json
1.3.2
- App's env variables are set before
npm install
during Prepare Bundle - Fix error sometimes encountered when starting app after updating Mup to 1.3
- Periods are removed from the database name when using built-in MongoDB
- Removed validation error
"meteor.name" has a period
- Fix Prepare Bundle when app name has uppercase letters
- Fix reverse proxy's let's encrypt and force ssl not working when
app.env
is missing - Fix crash when
app.name
is missing
1.3.1
- Add
mup ssh <server>
command - Exit code when task list fails is now 1 instead of 0
- Fix deploying when server's default shell is zsh @thsowers
- All docker commands are run with
sudo
mup proxy stop
doesn't require theproxy
object to be in the config- Add option
app.docker.prepareBundle
to enable or disable prepare bundle