Changelog

Follow new updates and improvements to Qovery.

August 28th 2024

Hello Team,

We have been working hard over the past weeks to deliver you some exciting news on our product, check this out:

Improved Troubleshooting Flow on Custom Domain Setup

After updating the configuration for custom domains behind a CDN, we've refined the process to troubleshoot potential issues with your custom domain setup.

When you access the Custom Domain configuration section of your application, an automatic verification is triggered for each configured domain to ensure the CNAME correctly points to the domain provided by Qovery.

Additionally, if Qovery is unable to create or renew the certificate for any configured custom domain, a banner will appear, redirecting you to the domain section to identify which custom domain is causing the issue.

New Step in Application Creation Flow: Environment Variable Setup

We've added a new step in the application creation flow: setting up environment variables.

Most applications require a few environment variables to run. Previously, you had to return to the environment variable section after creating the application before deploying it. With this new step, you can complete the setup of your application within the same flow, making the process even easier.

We'll soon enhance this section with more functionalities already available in the environment tab, like importing .env files or adding environment variables as file.

Enable Environment Variable Interpolation for Environment Variables as Files

Last year, we introduced the environment variable interpolation feature, which allows you to compose an environment variable based on strings and values from other environment variables.

Example: If you want to build a URL from an environment variable containing the backend host, you can create a new variable like this:

MY_VAR_URL = https://{{BACKEND_HOST}}

This was possible for standard environment variables but not for environment variables as files, since the file's content might already have a templating system that could conflict with Qovery's.

To ensure safe usage of the interpolation feature, we've added a new flag in the creation modal to enable this functionality.

#Improved UX for Scrolling Through Application or Deployment Logs

Navigating deployment logs or your application's logs can be complex, with a lot of information displayed on the screen. The interface navigation should be ergonomic.

The old "play"/"pause" button that controlled automatic scrolling has been replaced by a mechanism that automatically stops scrolling down as soon as you try to scroll up. An information button appears at the bottom of the logs whenever new logs are available (similar to Slack's system).

Keep an eye on this section, as we're working on a complete redesign to enhance the user experience and help you troubleshoot issues more quickly!

Minor updates:

  • Identity Provider in Member List: You can now see the identity provider associated with each member in the member list (Google, Microsoft, GitHub, etc.). No more confusion if you're logged in with the same email on two different identity providers.

  • Clippy Mode: In honor of the classic Clippy, you can now change the icon of the Qovery helper (the question mark on the bottom right) to "Clippy."

  • Terraform Provider and CLI Version in Audit Logs: We're now logging the version of the Terraform provider and CLI used to generate events in the audit logs.

These updates aim to improve usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

August 14th 2024

Hello Team,

Exciting updates are here! Check out the latest improvements and features that we have delivered in the past sprint:

Speed up Terraform and Cloudformation configuration with Lifecycle Job templates

At Qovery, deploying resources with an IaC framework is managed via Lifecycle jobs. You can package your IaC manifest as a containerized application and trigger the create/destroy command at the right moment (e.g., on environment creation). This required a thorough understanding of how Lifecycle Jobs work, what kind of Dockerfile to use, and so on.

To simplify the setup, we've introduced a template configuration system that provides a pre-filled setup to package and deploy your Terraform and CloudFormation manifests. Qovery will provide you with:

  • A Dockerfile with all the necessary commands specific to Terraform or CloudFormation

  • A set of triggers and commands to run depending on the trigger

  • The resources to use

You can customize these to match your needs.

Check our public documentation.

We'll be adding more templates in the future, so let us know what's on your wish list!

Find the services using a specific container registry or helm repository

It used to be a real pain to determine if a Helm repository or Container registry was still in use within your organization. That's why we've added a new feature that allows you to quickly find any service still using a specific container registry or Helm repository.

You can access this functionality directly under Organization Settings > Container Repository/Helm Registry.

Customize service icon

The ultimate feature is here... you can now customize the icons of your services!

For now, you can select from a preset list of icons, but in the future, we'll allow you to upload your own custom icons.

New audit log events

In the last sprint, we added new events to the audit log to track clone, shell connection, and port-forward events.

This sprint, we've added another important event: the result of a deployment.

You now have a single view that shows both the changes made to your services and the deployment information!

Minor updates:

  • Renamed "Job Configuration" to "Triggers": To better reflect their usage, we've renamed the "Job Configuration" section of Lifecycle Jobs to "Triggers."

  • Quick Link to Access Git Repository: There's now a new link to quickly access the repository from the Settings > General section of your application.

  • Info Message on Public Ports for Demo Clusters: We've added an info message to let you know that the public ports for applications deployed on a demo cluster are only accessible from the same machine where the cluster is deployed.

These updates aim to improve usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

July 31st 2024

Hello Team,

Part of our team is already enjoying some well-deserved rest but we are still delivering cool stuff in production.

Have a look at what we have delivered over the past 2 weeks:

#Improved setup for custom domains behind a CDN

We have added a new option to the domain setup of your application to take into account setup with a CDN. When your traffic is served via a CDN, we cannot verify the setup of the CNAME redirection to our domain and most likely we can't even generate a certificate for you.

This is why we have added a new option to the domain configuration modal to specify if the domain is behind a CDN.

When activated, we will disable the automatic checks running at the end of the deployment to verify the domain configuration since your CDN manages everything.

More information on how to access your services

A new button called "Access info" appeared in your service overview page. It allows you to get more information on how to interconnect services (via the BUILT_IN environment variables) and as well on how to connect from your local machine (via our port-forward feature).

The information was already in our public documentation but we wanted to make it more visible for our users.

"qovery demo up" CLI command improvements

Making this Qovery CLI command work on every setup is a real challenge, multiple dependencies are necessary to properly spawn a K3s cluster on your machine and install Qovery on it (plus you have to manage the differences between Windows, MacOs etc..).

We have improved a few aspects of the installation process with:

  • additional dependencies checks, making sure you have all the required software already installed (like Dockerdesktop) and that you have already an Organization on Qovery

  • reduced the Qovery application image size, making it faster to download and install Qovery on your local machine

If you haven't tried our demo cluster feature yet, look at our blog article and give it a try!

Deploy multiple services at once with "qovery environment deploy" CLI command

Deploying multiple services at the same time has been at the heart of the Qovery product. We have improved the CLI to let you deploy multiple services with just one single command via the command:

qovery environment deploy --applications <applicaiton_list> --containers <containers_list> --cronjob <cronjob_list>  ...

This triggers one single deployment command instead of doing the deployment by service type, complexifying your CI pipeline

Example:

qovery environment deploy --applications "Backend:ad933d741d86205dfd3291d5685060167b85f910,API Gateway:5a44b4d084155ecb2ae7508e3efd2575c27ea3b8" --containers "Dashboard" --lifecycles "DB Seed Script:a2e888e9c3896b09f4b01655d1585c28f019bb0c"

Check our CLI documentation and try it on your machine or CI.

Minor updates:

  • Added intro page for Lifecycle jobs: We have added an intro page when creating a new lifecycle job to explain how they work and the use cases they cover.

  • More events tracked in the audit logs: we are now tracking the clone, shell connection, port-forward events.

  • Added support of API tokens in Qovery websockets: you can now use the Qovery API tokens to connect to the websockets. This can be useful if you have a token API and you want to use the qovery shell command with it.

These updates are aimed at improving usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

July 17th 2024

Hello Team,

Summer is finally here in France but we didn't forget to release a few cool new features. Check this out:

Description field for Environment Variables

You can now customize the description of Environment Variables! This is extremely helpful if a colleague (or you, after a few months) tries to understand the purpose of an environment variable configured within your organization.

For the BUILT_IN variables, we now provide a default description explaining their purpose.

Force Cancel Execution for Lifecycle Job

Lifecycle jobs allow you to run and execute your scripts based on events happening in your environment (start, stop, delete).

Since your script might not be interrupted in the middle of its execution, by default, the "Deployment cancel" feature was not allowed to cancel the execution of a lifecycle job. We have now added the possibility to force cancel the execution (but it is now at your own risk!).

If you want to know more about the Cancel feature and the other deployment actions, check our documentation.

Include additional information in the request header

We have added more flexibility to the configuration of the Nginx instance allowing your applications to be exposed on the public network.

You were already able to customize the response header via the advanced setting network.ingress.add_headers. Now, you can modify the request header via the advanced setting network.ingress.proxy_set_headers. This is helpful when you want to add additional information to the header request, like X_REQUEST_START (documentation here)

Minor updates:

  • Qovery Demo Cluster Dependencies: We have added a few checks on the command to ensure that all dependencies are installed.

  • Alias/Override Link: Aliases and overrides are now better linked to the parent variables.

  • Terraform Provider Fixes: We have delivered a few fixes for the Helm resource. Expect a few more in the next sprint (still on Helm and our TF exporter)

These updates are aimed at improving usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

July 8th 2024

Hello Team,

It's been a busy sprint for us, working on new features to enhance your experience on our platform. Check this out:

Inject raw Dockerfile for Lifecycle job

We've improved the experience with Qovery Lifecycle jobs by allowing you to inject a Dockerfile directly from the Qovery interface.

Let's say you have a script (e.g., seed a DB) or an IaC manifest (e.g., CloudFormation). Previously, you had to push the Dockerfile to the repository to deploy and run your code. Now, you can keep your git repository clean and define the Dockerfile directly within the Qovery interface.

We’re also working on providing predefined Dockerfiles for the most used IaC frameworks (Terraform, CloudFormation, Serverless), bringing the user experience to the next level. Stay tuned!

Check out our documentation!

Improved Experience on Version Selection for Helm and Containers

Deploying Helm Charts and Container images with Qovery has become incredibly simple.

We now offer a quick way to select:

  • The chart name (for Helm)

  • The version (for both Helm and containers)

This applies to both the creation flow and the "Deploy other version" feature.

Check our video below!

Clear Cronjob Status in Case of Execution Failures

The Qovery interface allows you to monitor the current and past executions of your cronjobs easily. If one of the past executions failed, you will immediately see the service in "Error" status.

Once you are aware of the issue and have taken the necessary actions, you want to clear this error to have a clear view of your cronjob's current status.

That's why we've added a button allowing you to clear the status of the job and erase any past execution, giving you a fresh start.

Activate Karpenter for cluster with custom VPC

If you manage the VPC of your EKS cluster yourself, you can now activate Karpenter and benefit from all the improvements it brings (better instance allocations, spot instances, etc.). You will need to fill in the VPC ID and a public and private subnet ID for each zone.

Note: For now, you can activate Karpenter only on new clusters, but we will soon allow you to activate it on any existing EKS clusters.

Minor updates:

  • Simplify CMD setup: No need to use specific syntax to define args to be passed to your container image (["args1", "args2"]). You can just paste them in the CMD field ("args1 args2").

  • Customize NGINX logs format: You can now customize the format of the NGINX logs via the advanced settings nginx.controller nginx.controller.log_format_upstream.

  • Allow to cancel Lifecycle job execution via the CLI: You can now cancel the execution of a lifecycle job via the CLI. This functionality will soon be available on our interface as well.

These updates are aimed at improving usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

June 19th 2024

Hello Team,

On top of a bunch of cool new features, this sprint we're also welcoming Fabien to our team, adding more firepower to our back-end crew.

Now, let's dive into what the team has delivered over the past two weeks:

Karpenter now in open Beta

We've been working hard on the Karpenter integration, and it's finally available in open Beta! Karpenter is an open-source node lifecycle management project built for Kubernetes. Adding Karpenter to a Kubernetes cluster can dramatically improve the efficiency and cost of running workloads by optimizing node instances and allowing the activation of spot instances!

You can now decide to activate Karpenter while creating a new cluster.

Check out our cluster documentation for more information.

Customize the labels and tags of your resources

We've heard your need to customize the default set of labels and tags we apply to deployed resources (on both Kubernetes and cloud provider resources).

This week, we've released the ability to customize the labels and tags of your resources directly from the Qovery interface. Check out the demo video below:

Currently, this feature is restricted to applications, databases, and jobs deployed with Qovery. We'll extend this feature to environments and clusters in upcoming releases.

Check out our documentation and our announcement blog post to know more.

Skip mirroring step for images pushed on the cluster image registry

Every deployed container image on your cluster is mirrored on your cloud provider container registry to decouple the deployment system from a 3rd party (more info here).

If you are building your container images on our managed cluster offer, it is now better to store them in a container registry located in your cloud provider account rather than an external registry since we are now skipping the mirroring registry, reducing the deployment time

Skip mirroring

Get access to more logs of your application

You already have direct access to your application logs via the Qovery Log interface. New logs are streamed directly from your application pods and stored for retention in a Loki instance running on your cluster.

Now, when filtering by a single pod, you can go back further in time and access older logs from your pod (up to the last 1000 lines).

This is especially helpful when investigating pod issues that occurred in the past.

Minor updates:

  • Environment variable improvements: parent-child relations (alias/override) are now kept while filtering or sorting the environment variables

  • HPA based on memory: You can configure the HPA of your application to scale based on memory usage instead of CPU.

  • Default contact email: the contact email for every user is now set by default to the email linked to the account used to login (github, gitlab etc..). It can still be customized within your user preferences.

These updates are aimed at improving usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

June 5th 2024

Hello Team,

Summer is almost here, and we're finally enjoying a few sunny days in Paris. Besides spending time outside enjoying the good weather, here’s what the team has delivered over the past two weeks:

Self-managed & demo installation process improved

We have improved the installation process for both self-managed and demo cluster installations.

  • Self-managed clusters: The qovery cluster install command will now guide you through the container registry configuration. This necessary infrastructure piece is used by our engine to store built images and mirror deployed containers (more info on it here)

  • Local demo clusters: The local demo cluster installation process (installed via the qovery demo up command) requires a few dependencies to be installed on your machine, like jq, curl, helm, etc. We have improved the CLI to automatically install these dependencies, simplifying the setup. There is also a new --debug parameter allowing you to retrieve debug logs under /tmp/qovery-demo/qovery-demo.log and share them with the Qovery team if needed.

GCP container registries support

Welcome to GCP container registries (Artifact registries)! You can now deploy your application by pulling images from a GCP Artifact registry directly from the Qovery console (Organization settings > Container registries)

You can find the documentation on how to deploy your application from a container registry right here.

Mirroring registry update

We have already talked a lot about registries, and we continue on this point.

Here’s a quick recap of what a Mirroring registry is: it is the container registry that Qovery uses to push images built from your application or mirror the container images you deploy directly with Qovery. More information can be found in this document.

We have moved the Mirroring registries to the Cluster settings, clarifying the strict relation between the cluster and the registry used in the mirroring process.

The Mirroring registries are no longer visible in the Organization container registry list and cannot be used to create new services.

Improving the service creation flow experience - check Dockerfile existence in creation flow

We are adding a few additional checks and helpers in the service creation flow. The first improvement is a check for the existence of the Dockerfile. Previously, this check was done only at the end of the flow, making it tedious to troubleshoot issues. Now, this check occurs at the first step, making it easier to identify problems early on.

Be prepared for more improvements, such as fetching Helm chart names and versions instead of using free-text fields and fetching container versions instead of using free-text fields.

Minor updates:

  • New BUILT_IN env vars: We have added the container tag and the deployment id as built_in environment variables.

  • Mongo v7 support: You can deploy MongoDB v7 directly from the Qovery console.

  • 404 pages: we have added dedicated 404 pages when the selected resources is not available.

These updates are aimed at improving usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

May 22nd 2024

Hello Team,

We have been working hard over the past weeks to deliver you some exciting news on our product, check this out:

New Service list

We are completely reviewing the experience around the service creation flow to provide a guided path and templates to create new services quickly.

The new service list is accessible from the "New service" button and will propose (on top of the basic services Application, Helm, Cronjob etc..) a set of templates. Checkout our video:

This is the first version and we are actively working on adding new templates and improving the overall experience, feel free to raise your feedback on our forum!

Environment variable view improvements

We have introduced a few improvements on the environment variables view to improve the overall experience.

You can now:

  • sort the variables by name

  • bulk delete them using the checkbox next to the variables name

Advanced settings for self-managed clusters

We have added the advanced settings feature on self-managed clusters to let you customize some Qovery behaviour on your cluster.

For example, you can now customise the storageClass to be used when deploying a container database or a disk for your application. Check out our cluster advanced settings documentation.

RDS certificates update

As shared on our forum, we have proceeded with the update of the certificates used by your RDS instances. Please re-deploy your Managed databases via the Qovery console, the change will be applied on the next maintenance window of your RDS instance (check your AWS console).

Minor updates:

  • See services linked to an annotation group: You can now see the services linked to an annotation group from within the annotation group setting page.

  • See annotations values in the creation flow: You can now see the annotation values linked to an annotation group when assigning it to a service within the creation flow.

  • Added helper button in settings: we have added a helper button in every settings page. This will open the Qovery helper with all the documentation related to the specific section

These updates are aimed at improving usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

May 14th 2024

Hello Team,

We have been working hard over the past weeks to deliver you some exciting news on our product, check this out:

Deploying Qovery on your local machine - As simple as writing qovery demo up

Do you want to try Qovery on your local machine by running 3 commands on your terminal?

Upgrade the Qovery CLI to the latest version and run these commands:

$ qovery auth
$ qovery context set
$ qovery demo up

Note: docker is required (and WSL if you're under Windows)

These commands will start a K3d cluster on your computer, install the qovery applications and create a cluster on your Qovery account.

You're now ready to deploy your applications on your machine directly from the Qovery console, providing a developer experience similar to what you would get when deploying them on your cloud account.

Check our announcement blog post here.

Bring your own Kubernetes, we bring the developer experience with qovery cluster install

We have introduced a new command in our CLI to streamline the Qovery installation on any Kubernetes clusters:

qovery cluster install

Just follow the instructions from the command line and you'll be able to:

  • install Qovery on your Kubernetes cluster

  • configure your Qovery account to use your Kubernetes cluster and deploy your first applications

Check out our announcement blog post here and our updated documentation here.

Custom annotations for applications

Kubernetes annotations are key-value pairs attached to Kubernetes objects, providing a flexible way to extend the functionality of your Kubernetes resources without altering their internal specifications. These annotations serve as a tool to store additional metadata to tailor behaviour, orchestrate tools, and interact seamlessly with third-party utilities that complement your Kubernetes environment. Today, we're excited to announce that Qovery supports the declaration of Custom Annotations for your Kubernetes clusters.

Check our official documentation here.

Environment variable setup at project and environment level

We have made it possible to manage the environment variables directly from the project and environment view, making it easier to access this (complex) configuration section.

If you want to add a new environment variable for your entire project, get into the Variable tab of your project and create a new environment variable just from there.

Minor updates:

  • New modal on re-deploy with no config changes: when no configuration change is detected and deployment is triggered, a new modal is displayed asking the user if he wants to redeploy or restart the application

  • Highlight re-deploy for cluster and services: if a configuration change is pending and needs to be re-deployed, the Play button now is highlighted in yellow for both clusters and services.

These updates are aimed at improving usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€

April 24th 2024

Hello Team,

We're excited to introduce some exciting enhancements and new features to improve your experience with Qovery. Check out the latest updates:

#Qovery Helper

Say hello to your new best friend, the Qovery helper! It's like having a personal guide right on each page. Need help? It's got you covered with quick links to our docs, community forum, and support. Handy, right?

It will evolve in the future, letting you discover our product in autonomy and give you all the information you need directly from the Qovery console.

#Search bar

We have added a new search bar in the interface, just hit ctrl/command + K to bring it up. The search bar offers quick access to certain actions and navigation links (like audit logs, deployment logs etc..).

Stay tuned for future updates, including the ability to search for specific services or environments directly from the bar.

#Added remote cache support for build

Build times just got turbocharged. We have added remote cache support on your container registry, allowing you to store the docker layers generated during the build of your applications and reuse them in any future deployment. This feature reduces the building time of your applications since it allows you to skip the computation of some of the layers of your docker image.

You recognize in the deployment logs if the layer was cached or not by looking at the lines with this sentence:

importing cache manifest from xxx.dkr.ecr.us-east-2.amazonaws.com/zYYYY:cache

#Minor updates:

  • Support for Static IP Feature for GCP: You can now enable the "Static IP" feature on your GCP clusters as well (only during cluster creation).

  • Resize shell console: You can now resize as you wish the shell console available in the Qovery console.

  • CLI - auto-deploy flag: Now, you can modify the auto-deploy configuration of an application directly from the CLI.

These updates are aimed at improving usability, performance, and flexibility, empowering you to deploy with confidence and efficiency.

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

Happy Deploying!

The Qovery Team πŸš€