Overview
The autonomous agent template is the official Docker image for running headless AI agents on Qovery. When deployed as a workspace, the container automatically reads the issue context (from Linear or Jira) injected by the portal, runs an AI agent, opens a pull request, and exits. You can use the template directly or extend it with project-specific dependencies.Quick Start
Use the image directly
Or build from source
How the Agent Run Works
When the portal launches a workspace from the template, the container executes a 7-step autonomous cycle:1
Start governance proxy
If configured, the entrypoint starts an HTTP proxy that intercepts all outbound traffic from the agent and applies organization policies (allowlists, secret detection, rate limiting).
2
Read the issue context
The portal injects the issue key, title, and description as environment variables (tracker-agnostic). The script writes them to a task file. The container talks only to the portal - no tracker token or tracker-specific identifiers are injected.
3
Clone the repository and create a branch
The target repository is cloned using the configured git token. A branch is created automatically from the issue key and title (e.g.,
agent/ENG-123-fix-login-validation).4
Run the AI agent
The configured runtime executes headlessly with the task file as the prompt:
The command is wrapped in a
timeout using the configured run timeout. Exit code 124 indicates a timeout.During execution, the agent can stream live progress updates via the portal’s progress endpoint (RDE_RUN_PROGRESS_URL). The portal relays them to the tracker - as real-time “thought” activities in Linear, or as progress comments in Jira.5
Commit and push
If the agent made code changes, they are committed and pushed to the branch. If no changes were made, the run reports a failure (“no code changes”).
6
Open a pull request
A PR is created on the git provider (GitHub, GitLab, or Bitbucket) with the issue context in the body. The PR title includes the issue key.
7
Report results
The container calls back to the portal API (
RDE_RUN_CALLBACK_URL) to record the result. The portal then reports back on the tracker - in Linear, updating the agent plan, adding external URLs (dashboard link, PR link), and posting a response or error activity inline; in Jira, posting a comment and transitioning the issue status. A lifecycle comment is posted for audit purposes. The workspace is automatically cleaned up after completion.Environment Variables
These variables are injected automatically by the portal when it launches the workspace. You do not set them manually. The issue context is injected in a tracker-agnostic form. The container never receives a tracker token or tracker-specific identifiers - it reports back to the portal, which talks to Linear or Jira on its behalf.
The portal also injects Qovery deploy credentials (
QOVERY_CLI_ACCESS_TOKEN, QOVERY_ORGANIZATION_ID, QOVERY_CLUSTER_ID, QOVERY_PROJECT_ID) so the agent can run preview deployments.
Git Provider Support
The template supports three git providers for cloning repositories, pushing branches, and creating pull requests:
The provider is determined by the
BLUEPRINT_GIT_PROVIDER environment variable, which is set automatically based on the repository URL configured in the agent blueprint.
RDE Configuration
The template includes a.config.rde.qovery.yml file that customizes which components are installed by the Qovery RDE install script. It disables web IDE components that are not needed for headless autonomous mode while keeping all AI runtimes and development tooling.
Enabled components:
- All AI runtimes (Claude Code, OpenCode, Codex, Cursor)
- Development tools (Node.js, Python, Ruby, Go)
- Git tooling (gh CLI, Qovery CLI)
- Terminal utilities (zellij, fzf, ripgrep)
- Code Server (web IDE) - not needed for headless mode
- Standard entrypoint - replaced by the autonomous entrypoint
- Browser-based extensions and resources
.config.rde.qovery.yml configuration.
Agent Governance Proxy
When theRDE_PROXY_SCRIPT_GZ_B64 environment variable is set, the template starts an HTTP proxy before running the agent. This proxy intercepts all outbound HTTP/HTTPS traffic from the AI agent and enforces organization policies.
The proxy supports:
- Allowlists - restrict which external hosts the agent can reach
- Secret detection - prevent accidental exfiltration of credentials
- Rate limiting - throttle API calls to prevent abuse
- Kill switch - immediately halt all agent egress
The governance proxy is configured at the organization level by the Qovery team. Contact Qovery support to enable and configure proxy policies for your autonomous agents.
Customizing the Template
To extend the template for your project:- Project dependencies - install language-specific packages or system libraries your codebase requires
- Agent instructions - add an
AGENTS.mdor.claude/directory with project-specific context for the AI agent - Setup scripts - run initialization steps before the agent starts (e.g., database migrations, seed data)
- Additional tools - install linters, formatters, or test frameworks the agent needs
Next Steps
Getting Started
Set up your first autonomous agent from scratch.
Agent Blueprints
Configure runtime, repositories, and tracker integration.
Jira Integration
Connect Jira, map statuses, and trigger agents by assignment.