Assume Role via STS, multi-stage Dockerfile, Flag environment out of date

Hello Team,

Check out this week’s changelog for exciting updates and enhancements from our team! 🚀

#🔐 Use Assume Role (STS) for safer AWS connections

Until now, the only way to connect Qovery to your AWS account was through static credentials (Access Key / Secret Access Key). While it works, it’s not the most secure approach.

That’s why we’ve added support for Assume Role via AWS STS - bringing a much more secure and flexible way to authenticate:

  • 🔄 Short-lived credentials: STS credentials automatically expire and refresh, reducing the risk of leaks
  • 🧱 Granular access: IAM roles allow you to define precisely what Qovery can do on your AWS account
  • 🔒 Less exposure: Static credentials are long-lived and easier to compromise
  • 💡 Static credentials are still supported, but we strongly recommend switching to Assume Role for better security.

To make things simple, we provide:

  • A ready-to-use CloudFormation stack to create the role in a few clicks
  • In-app documentation at the exact moment you need it, while setting up your AWS credentials

It's faster, safer, and just a better way to connect.

See the documentation here.

#Select your Docker build stage

Until now, there was no way to specify which stage Qovery should build when using a multi-stage Dockerfile

You can now explicitly select the target stage to build and deploy:

  • Choose the right stage for your app
  • Avoids the need to split or rewrite your Dockerfile

This option is available directly in your service’s Build and deploy settings.

Choose build stage within your Dockerfile
Choose build stage within your Dockerfile

See the documentation here.

#Know when your environment is out of date

Changing a project or environment-level variable? Until now, it wasn’t obvious that you needed to redeploy the whole environment, not just individual services.

We’ve added a small but important visual cue:

  • ⚠️ The Deploy Environment button now turns yellow when something is out of sync
  • 🔁 Helps you avoid issues caused by partial deployments

It’s a subtle change, but it helps ensure your environment stays consistent, especially when using global variables.

Know when your environment is out of date
Know when your environment is out of date

Minor Changes:

  • Cancel a queued deployment from deployment history: You can now remove a deployment in the queue, directly from the deployment history view.
  • Enable compression in NGINX by default: Compression is now enabled by default on all new clusters using the built-in NGINX layer, helping reduce payload sizes and improve performance. If you’re using an existing cluster, you can activate it manually by enabling the advanced cluster setting: nginx.controller.enable_compression. ⚠️ Note: If you already use another layer (like a CDN or custom proxy) that handles compression, we recommend not enabling this to avoid double compression issues.
  • Return to infrastructure logs in dry-run mode: When updating a cluster in dry-run, you’re now redirected back to the infrastructure logs.
  • Force lowercase in image names: When deploying a container image in Qovery, we now automatically convert the image name to lowercase to comply with container registry naming rules and prevent unexpected errors.

For the latest news and upcoming features, remember to check out changelog.qovery.com.

As always, we appreciate your feedback and support.

Happy Deploying!

The Qovery Team 🚀