Skip to main content

Overview

Helm charts on Qovery allow you to deploy pre-packaged Kubernetes applications within your environment. Qovery treats Helm deployments as services that can be managed alongside your applications and databases.

Deployment Sources

Qovery supports two sources for deploying Helm charts:

Git Repository

Qovery pulls the Helm chart from your Git repository and installs it on your Kubernetes cluster. Supported Providers: GitHub, GitLab, Bitbucket

Helm Repository

Qovery pulls a chart from a configured Helm repository and installs it on your Kubernetes cluster.
Helm repositories must be configured at the organization level by administrators. See Helm Repository Management.

Creating a Helm Service

1

Select Source

Choose Git Repository or Helm Repository as your deployment source
2

Configure Source

For Git Repository:
  • Select Git provider
  • Choose repository
  • Select branch
  • Specify root Helm path (path to chart directory)
For Helm Repository:
  • Select configured repository
  • Enter chart name
  • Specify chart version
  • Configure timeout (default: 300 seconds)
  • Add arguments (optional)
3

Configure Values Override

Override chart values using:
  • Values file (upload or specify path)
  • Raw YAML override
  • Arguments (--set, --set-string, --set-json)
4

Review and Deploy

Review configuration and click Create to deploy

Configuration

General Settings

Git Repository Configuration:
  • Git provider and repository
  • Branch selection
  • Root Helm path (path to chart directory containing Chart.yaml)
Helm Repository Configuration:
  • Repository selection
  • Chart name
  • Chart version
  • Timeout configuration
  • Additional arguments

Values Override

Helm charts use a values.yaml file for configuration. Qovery provides three ways to override default values: 1. Values File Override: Upload or specify a custom values.yaml file to override default chart values. Ideal for complex configurations with many overrides. 2. Raw YAML Override: Provide raw YAML directly in the Qovery console for quick overrides. Perfect for environment-specific configurations. 3. Arguments Override: Use Helm command-line arguments for individual value overrides:
--set replicaCount=3
--set service.type=LoadBalancer
--set image.tag=1.21

Environment Variables in Values

Use the qovery.env.<ENV_VAR_NAME> macro to inject environment variables into your Helm values:
database:
  host: qovery.env.DATABASE_HOST
  port: qovery.env.DATABASE_PORT
  username: qovery.env.DATABASE_USER
  password: qovery.env.DATABASE_PASSWORD
Environment variables referenced with qovery.env.* must exist in your Helm service configuration, otherwise deployment will fail.

Network Configuration

Kubernetes Service Configuration: Qovery automatically handles:
  • Service discovery within the environment
  • Internal DNS resolution
  • Network policies
Port Exposure:
  • Service port
  • Protocol (HTTP, HTTPS, TCP, gRPC)
  • Public access toggle
Connections on public ports are automatically closed after 60 seconds.

Domains

Qovery-Assigned Domains: When you enable public access, Qovery automatically generates a domain:
p<PORT>-<RANDOM_ID>-<SERVICE_ID>-gtw.<CLUSTER_ID>.bool.sh
Example: p80-zdf72de72-z709e1a88-gtw.za8ad0657.bool.sh Custom Domains: Add your own domain to your Helm service:
1

Add Custom Domain

Navigate to Helm service → Settings → Domains → Add Domain
2

Enter Domain Name

Enter your domain (e.g., app.example.com)
3

Configure DNS

Add a CNAME record pointing to the Qovery-generated domain:
Type: CNAME
Name: app
Value: p80-zdf72de72-z709e1a88-gtw.za8ad0657.bool.sh
TTL: 3600
4

Verify and Deploy

  • Qovery verifies DNS configuration
  • SSL/TLS certificate is provisioned via Let’s Encrypt
  • Redeploy to activate custom domain

Auto-Deploy

Enable auto-deploy for Helm charts sourced from Git repositories. When enabled, Qovery automatically deploys changes when:
  • Code is pushed to the configured branch
  • Deployment restrictions are met (if configured)

Clone Service

Duplicate a Helm service with its configuration:
1

Select Service

Go to the Helm service you want to clone
2

Clone Service

Click the three-dot menu → Clone
3

Configure Clone

  • New name for the cloned service
  • Target environment (same or different)
  • Settings to copy (values, domains, variables)
Cloning excludes custom domains and certain environment variables to prevent conflicts.

Advanced Settings

Timeout Configuration:
  • Install timeout
  • Upgrade timeout
  • Rollback timeout
  • Delete timeout
Helm Arguments: Pass additional arguments to Helm commands:
  • --atomic - Rollback on failure
  • --wait - Wait for resources to be ready
  • --wait-for-jobs - Wait for jobs to complete
  • --create-namespace - Create namespace if missing
  • --skip-crds - Skip CRD installation
CRD and ClusterRole Deployment: Some Helm charts require cluster-wide permissions to deploy Custom Resource Definitions (CRDs) or ClusterRoles. Ensure your service account has appropriate permissions.

Logs and Monitoring

Access logs for your Helm service:
  • Real-time log streaming
  • Historical logs by time range
  • Pod-specific logs
  • Log filtering and search

Delete Service

To delete a Helm service:
1

Stop Service

Click the three-dot menu → Stop
2

Delete Service

Click the three-dot menu → Remove helm
3

Confirm Deletion

Review what will be deleted and confirm
Deleting a Helm service removes all Kubernetes resources created by the chart. This action cannot be undone.