Overview
Qovery’s ArgoCD integration bridges GitOps-driven deployments with Qovery’s platform capabilities. Deployment ownership remains in ArgoCD — your teams continue using GitOps workflows as usual — while Qovery provides a unified view across all your environments and surfaces platform features that ArgoCD doesn’t natively offer. What you get with the integration:- Unified environment visibility — ArgoCD applications appear as Qovery environments, organized by namespace.
- Pod management — View pod statuses and open a shell directly from Qovery.
- Log streaming — Access real-time logs for ArgoCD-managed workloads.
- Sync status — Qovery reflects the current ArgoCD sync and health status of each application.
Prerequisites
- A Qovery cluster that is already added to Qovery and hosts the ArgoCD instance. See Clusters configuration.
- An ArgoCD instance reachable from the Qovery cluster agent running in the
qoverynamespace of that cluster. - An ArgoCD API token with read access to applications and logs.
Create a dedicated ArgoCD user
We recommend creating a dedicated service account rather than using an admin token. 1. Add the account toargocd-cm
argocd-rbac-cm
Configuration
The ArgoCD integration is configured at the organization level under Settings → ArgoCD integration. Each ArgoCD instance can be mapped to a Qovery cluster.Step 1: Connect an ArgoCD instance
Open ArgoCD settings
In the Qovery Console, go to Settings → ArgoCD integration.
Add a new integration
Click Add ArgoCD and fill in:
| Field | Description | Example |
|---|---|---|
| Target cluster | A cluster already added to Qovery — the one where ArgoCD itself is running. If your ArgoCD instance deploys to multiple clusters, also see Step 2. | My Production Cluster |
| ArgoCD API URL | The in-cluster URL of the ArgoCD API server. It must be reachable from the Qovery cluster-agent running in the qovery namespace, so the internal Kubernetes service URL is the right choice. A public ingress URL also works but is not required. | http://argocd-server.argocd.svc.cluster.local/ or http://argocd-server.argocd/ |
| Access token | The token generated from the dedicated qovery ArgoCD user (see Create a dedicated ArgoCD user). Do not use an admin token. | xxxxxx |
The token is the one printed by
argocd account generate-token --account qovery during the prerequisites step. For ingress URL configuration, see the ArgoCD ingress guide.Validate and save
Qovery tests the connection before saving credentials. If validation fails, you will see one of these errors:
Once validated, the integration is saved and Qovery begins discovering applications automatically.
| Error | Cause |
|---|---|
| Could not reach this ArgoCD URL | The endpoint is unreachable from the cluster network. Verify the URL and network access. |
| Token was rejected | The token is invalid or expired. Generate a new token and try again. |
| Insufficient permissions | The token does not have read access to ArgoCD applications. |
Step 2: Map destination clusters (multi-cluster ArgoCD)
A common ArgoCD topology is a central ArgoCD instance driving applications across several destination Kubernetes clusters (for example one ArgoCD on a management cluster deploying to staging and production clusters). Qovery supports this setup, but it requires two things. Install the Qovery stack on every cluster. Both the cluster hosting ArgoCD and every destination cluster must run the Qovery stack:- The cluster running ArgoCD lets Qovery read application configuration and sync status from the ArgoCD API.
- Each destination cluster lets Qovery observe the actual workloads — pods, logs, metrics — for the applications ArgoCD deploys there.
Environment Visibility
Once connected, Qovery automatically discovers ArgoCD applications and organizes them into environments — no manual configuration required.Project and environment creation
Qovery creates a dedicated project named “Qovery ArgoCD Integration” in your organization. Within this project, each unique ArgoCD destination namespace becomes a Qovery environment. Environment type is assigned automatically based on the target cluster:- PRODUCTION — if the Qovery cluster is marked as a production cluster
- STAGING — for all other clusters
Importing state
Immediately after connecting, the integration shows an “Importing ArgoCD…” state while the cluster agent polls ArgoCD for the first time. This resolves automatically within a few minutes as applications are discovered.Services
Each ArgoCD application within a namespace appears as a service inside the corresponding Qovery environment. The service list shows:| Column | Description |
|---|---|
| Service | The ArgoCD application name |
| Last operation | The most recent ArgoCD sync status |
| Target version | The Git revision or tag currently deployed |
Configuration and deployment manifests of ArgoCD-managed services stay read-only in Qovery — all changes must continue to go through your GitOps pipeline. The Sync and Rollback actions are planned exceptions and trigger ArgoCD on your behalf.
Monitoring & debugging
Qovery surfaces the same observability primitives for ArgoCD-managed workloads as it does for native Qovery services:- Pod metrics — CPU and memory at the pod level, via the same metrics pipeline used for native Qovery services.
- Logs streaming — real-time container logs for ArgoCD-managed workloads.
- Pod shell access — open a shell into a running container directly from the Qovery Console.
- Sync & health status — Qovery mirrors ArgoCD’s current sync and health status for each application.
Full Qovery Observe integration for ArgoCD-managed apps — alerts, events, 12-week log retention, service health dashboards — is in progress and will be enabled progressively.
Actions
ArgoCD remains the source of truth for what gets deployed. To save round-trips to the ArgoCD UI, Qovery exposes convenience actions that call the ArgoCD API on your behalf:| Action | What it does |
|---|---|
| Sync | Triggers an ArgoCD app sync for the selected application. |
| Rollback | Reverts the application to a previous synced revision via the ArgoCD rollback API. |
Manifest
Each ArgoCD service in Qovery has a Manifest tab that lists every Kubernetes resource ArgoCD currently manages for the application (sourced from ArgoCD’s managed-resources API). For each resource you can inspect:- Live state — the actual resource configuration running in the cluster.
- Target state — the desired configuration declared in Git.
- A Diff toggle to compare live vs target side-by-side and spot drift between Git and the cluster.
How It Works
Application discovery
Application discovery
The Qovery cluster agent continuously polls the connected ArgoCD instance for application state changes. When new applications appear, Qovery creates the corresponding environment and service entries automatically.
Environment lifecycle
Environment lifecycle
Environments are created when the first ArgoCD application appears in a namespace, and deleted automatically when the last application in that namespace is removed. This keeps the Qovery project in sync with the actual state of your ArgoCD deployments.
Stale application cleanup
Stale application cleanup
Qovery periodically runs a full sync against ArgoCD to remove any service entries that no longer exist. This ensures the Qovery view stays consistent with ArgoCD even if applications are renamed or deleted outside of normal lifecycle events.