Up 0.6.0 — IAM Policies, Git Versioning, Deployment History, and more
Just a quick post highlighting some of the changes made since Apex Up v0.5.0!
If you’re unfamiliar with Up, it’s a command-line tool to help you deploy and manage near-infinitely scalable serverless web applications and APIs on AWS. You can deploy as many applications as you need, for the fraction of the price of other providers, with zero operational maintenance or manual scaling efforts.
AWS uses IAM policies to permit access to various operations against resources, such as allowing read-write access to DynamoDB.
Up now allows you to specify additional policy statements for the Lambda function’s role as shown in the following snippet. Re-deploy and your permissions are applied!
Note that if you previously manually altered the function policy in the AWS console, these permissions should be moved to the
Static Files for Dynamic Applications
Previously an Up project was either strictly static, or dynamic—now you can utilize static file serving for dynamic apps, Up will check if the file exists before passing control to your application.
dir of your static files, with an optional prefix used on the client-side for requesting. In the following example
/static/css/style.css would resolve to
Environment Variable Improvements
Older versions required that you define a single env var per-command, however now you can set or remove many:
$ up env set DB_URL=xxx DB_NAME=xxx
$ up env rm DB_URL DB_NAME
up start command now supports local overrides as well, so the following will now expose
DB_NAME to your program.
$ DB_NAME=test up start
This works great with direnv, a popular tool for local repo-specific environment variable management.
Up Pro now integrates with Git, allowing you to view and roll-back to previous versions via the Git tag or SHA, for example:
$ up rollback -s production v1.9.0
$ up rollback -s production bd5950e
Up Pro uses the same Git integration to provide a deployment history so you can see who deployed to a stage, and when with
up deploys. The current version is denoted with the
* and works with
up rollback .
By popular demand an annual subscription plan for Up Pro is now available to help reduce paperwork, and save 10% while you’re at it! Check out the Subscribing to Up Pro guide to get started.
Additional small changes:
- Added default
proxy.commandfor Go and Crystal so
up start“just works”
- Added an
up prunecommand to remove old versions from S3
- Added robots.txt to deny access to non-production stages by default
- Added stage-level overrides for Lambda warming configuration
- Added support for explicitly specifying the DNS zone, or omitting it
--stageinstead of arg
--sinceshort flag to
-S(-s is used for stage now)
- Removed automatic retries on 5xx errors