Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.6 #1270

Open
wants to merge 41 commits into
base: master
Choose a base branch
from
Open

Release 1.6 #1270

wants to merge 41 commits into from

Conversation

zodern
Copy link
Owner

@zodern zodern commented Sep 30, 2021

More details are in my presentation at Meteor Impact: https://impact.meteor.com/meetings/virtual/3AAZtruj6bTnvZMLd

Partial list of changes and what is left to do:

New default docker image

The default docker image has been changed to zodern/meteor, which supports Meteor 1.2 up to the latest version, and automatically supports new Meteor versions. It has been used in production by many apps the past couple years, and should be backwards compatible with the existing default image for any apps still using Meteor 1.2 or Meteor 1.3.

Improved mup init

The config created by mup init has been simplified, and the comments have been improved.

  • Fix mup init instructions when it creates a .deploy folder
  • Use shorter paths for config and settings.json path

Docs

The docs will be re-organized, moved into separate pages, and many parts will be rewritten.

  • Create outline
  • Update docs website to support multiple pages
  • ...

Simplify how to update servers

Currently for some changes to your mup config you have to run mup setup, for others mup reconfig, and for some others you have to run both.

Mup 1.6 will combine mup setup with mup reconfig and mup deploy.

Server Groups

Server groups allow plugins to give Meteor Up a list of servers, instead of hard coding the list in the mup config. It also allows plugins to create/modify/delete servers during mup reconfig/mup setup.

This allows you to describe to Meteor Up what servers you want, and it will take care of creating them, setting them up, and running the app on them. To scale, you only have to modify the server count or size in the config, and run mup reconfig or mup deploy.

  • Improve handling situation where all servers need to be replaced (size or region changed) so there is no downtime
  • Finish supporting digital ocean
  • Add source for Hetzner cloud
  • Add source for AWS
  • Add fourth source that the community requests
  • Support for floating IP addresses
  • Document plugin api for providing server sources

Versioning

Instead of a previous and latest version, each version will be numbered (first version is 1, second is 2, and etc.). Each server tracks the history of versions it has ran, and which versions failed.

  • When using a private docker registry, a history file should be copied from old servers to the new servers

Reverse Proxy Floating IP Address

The reverse proxy can be configured to be highly available by using a floating IP address. We have implemented a proof of concept, but need to do more work to make it secure and make its setup consistent with other parts of Meteor Up.

Graceful shutdown

  • Implement for mup restart
  • Implement for mup deploy
  • Implement for mup stop
  • Change how hooks during task lists are implemented
  • Figure out how to handle stopping the app during prepare bundle

Reduce downtime

  • Avoid restarting reverse proxy unless necessary
  • Combine prepare bundle and start app task lists

Other improvements

  • Using upload progress bar for app bundle is now enabled by default
  • When a script fails, for many it now shows the stderr and stdout combined instead of separately.
  • useBuildKit is enabled by default. It has been used in production for a couple years and makes deploys much faster

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant