diff --git a/docs/custom.css b/docs/custom.css index d375b6a..358a25f 100644 --- a/docs/custom.css +++ b/docs/custom.css @@ -587,6 +587,385 @@ html[data-theme="dark"] img[src*="/logos/secure-logo-only.svg"], hue-rotate(202deg) brightness(103%) contrast(100%); } +/* AI Tools logos — invert black SVGs in dark mode */ +html[class*="dark"] img[src*="/ai-tools/cursor.svg"], +html[data-theme="dark"] img[src*="/ai-tools/cursor.svg"], +html[class*="dark"] img[src*="/ai-tools/githubcopilot.svg"], +html[data-theme="dark"] img[src*="/ai-tools/githubcopilot.svg"], +html[class*="dark"] img[src*="/ai-tools/amp.svg"], +html[data-theme="dark"] img[src*="/ai-tools/amp.svg"], +html[class*="dark"] img[src*="/ai-tools/openai.svg"], +html[data-theme="dark"] img[src*="/ai-tools/openai.svg"], +html[class*="dark"] img[src*="/ai-tools/goose.png"], +html[data-theme="dark"] img[src*="/ai-tools/goose.png"] { + filter: brightness(0) invert(1); +} + +/* Terminal window component */ +.terminal-window { + background: #0d1117; + border-radius: 10px; + overflow: hidden; + margin: 16px 0 24px; + box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25); +} + +.terminal-bar { + background: #161b22; + padding: 10px 16px; + display: flex; + align-items: center; + border-bottom: 1px solid #21262d; +} + +.terminal-dots { + display: flex; + gap: 6px; + margin-right: 12px; +} + +.terminal-dot { + width: 12px; + height: 12px; + border-radius: 50%; + flex-shrink: 0; +} + +.terminal-dot-red { background: #ff5f57; } +.terminal-dot-yellow { background: #febc2e; } +.terminal-dot-green { background: #28c840; } + +.terminal-title-bar { + flex: 1; + text-align: center; + color: #6e7681; + font-size: 12px; + font-family: 'Roboto Mono', monospace; +} + +.terminal-copy { + background: transparent; + border: none; + color: #6e7681; + cursor: pointer; + padding: 4px 6px; + border-radius: 4px; + display: flex; + align-items: center; + transition: color 0.15s, background 0.15s; + flex-shrink: 0; +} + +.terminal-copy:hover { + color: #e6edf3; + background: rgba(255, 255, 255, 0.08); +} + +.terminal-copy-success { + color: #3fb950 !important; +} + +.terminal-body { + padding: 20px 24px; + font-family: 'Roboto Mono', monospace; + font-size: 13px; + line-height: 1.8; + color: #e6edf3; +} + +.terminal-prompt { + display: block; + margin: 4px 0; +} + +.terminal-prompt::before { + content: '$ '; + color: #642DFF; + font-weight: 700; +} + +.terminal-output { + display: block; + color: #8b949e; + padding-left: 14px; + margin: 2px 0; +} + +.terminal-success { + display: block; + color: #3fb950; + padding-left: 14px; + margin: 2px 0; +} + +.terminal-sep { + border: none; + border-top: 1px solid #21262d; + margin: 14px 0; +} + +@keyframes blink-cursor { + 0%, 50% { opacity: 1; } + 51%, 100% { opacity: 0; } +} + +.terminal-cursor { + display: inline-block; + width: 7px; + height: 13px; + background: #e6edf3; + animation: blink-cursor 1s step-end infinite; + vertical-align: text-bottom; + margin-left: 2px; +} + +/* Skills Selector */ +.skill-radio { + position: absolute; + opacity: 0; + pointer-events: none; + width: 0; + height: 0; +} + +.skills-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 8px; + margin-bottom: 16px; +} + +@media (max-width: 640px) { + .skills-grid { grid-template-columns: repeat(2, 1fr); } +} + +.skill-card { + padding: 12px 14px; + border: 1px solid #e5e7eb; + border-radius: 8px; + cursor: pointer; + transition: border-color 0.15s, background 0.15s; + display: flex; + flex-direction: column; + gap: 3px; + user-select: none; +} + +html.dark .skill-card, +html[data-theme="dark"] .skill-card { + border-color: rgba(255, 255, 255, 0.1); +} + +.skill-card:hover { + border-color: rgba(100, 45, 255, 0.5); + background: rgba(100, 45, 255, 0.05); +} + +.skill-card-name { + font-size: 12px; + font-weight: 600; + color: #111827; + font-family: 'Roboto Mono', monospace; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +html.dark .skill-card-name, +html[data-theme="dark"] .skill-card-name { + color: #e6edf3; +} + +.skill-card-desc { + font-size: 11px; + color: #6b7280; + line-height: 1.35; +} + +html.dark .skill-card-desc, +html[data-theme="dark"] .skill-card-desc { + color: #8b949e; +} + +/* Selected card highlight */ +#sk-onboard:checked ~ .skills-grid label[for="sk-onboard"], +#sk-deploy:checked ~ .skills-grid label[for="sk-deploy"], +#sk-troubleshoot:checked ~ .skills-grid label[for="sk-troubleshoot"], +#sk-optimize:checked ~ .skills-grid label[for="sk-optimize"], +#sk-speedup:checked ~ .skills-grid label[for="sk-speedup"], +#sk-preview:checked ~ .skills-grid label[for="sk-preview"], +#sk-builder-env:checked ~ .skills-grid label[for="sk-builder-env"], +#sk-builder-portal:checked ~ .skills-grid label[for="sk-builder-portal"] { + border-color: #642DFF; + background: rgba(100, 45, 255, 0.1); +} + +/* Skill description */ +.skills-desc-wrap { + padding: 12px 14px; + min-height: 44px; + font-size: 13.5px; + color: #374151; + line-height: 1.6; + border-left: 3px solid #642DFF; + background: rgba(100, 45, 255, 0.04); + border-radius: 0 6px 6px 0; + margin-bottom: 12px; +} + +html.dark .skills-desc-wrap, +html[data-theme="dark"] .skills-desc-wrap { + color: #c9d1d9; + background: rgba(100, 45, 255, 0.08); +} + +.sk-desc { display: none; } + +#sk-onboard:checked ~ .skills-desc-wrap .sk-desc-onboard { display: block; } +#sk-deploy:checked ~ .skills-desc-wrap .sk-desc-deploy { display: block; } +#sk-troubleshoot:checked ~ .skills-desc-wrap .sk-desc-troubleshoot { display: block; } +#sk-optimize:checked ~ .skills-desc-wrap .sk-desc-optimize { display: block; } +#sk-speedup:checked ~ .skills-desc-wrap .sk-desc-speedup { display: block; } +#sk-preview:checked ~ .skills-desc-wrap .sk-desc-preview { display: block; } +#sk-builder-env:checked ~ .skills-desc-wrap .sk-desc-builder-env { display: block; } +#sk-builder-portal:checked ~ .skills-desc-wrap .sk-desc-builder-portal { display: block; } + +/* All skill prompts hidden by default */ +.sk-prompt { display: none; } + +/* Show only the selected prompt */ +#sk-onboard:checked ~ .skills-terminal .sk-prompt-onboard { display: block; } +#sk-deploy:checked ~ .skills-terminal .sk-prompt-deploy { display: block; } +#sk-troubleshoot:checked ~ .skills-terminal .sk-prompt-troubleshoot { display: block; } +#sk-optimize:checked ~ .skills-terminal .sk-prompt-optimize { display: block; } +#sk-speedup:checked ~ .skills-terminal .sk-prompt-speedup { display: block; } +#sk-preview:checked ~ .skills-terminal .sk-prompt-preview { display: block; } +#sk-builder-env:checked ~ .skills-terminal .sk-prompt-builder-env { display: block; } +#sk-builder-portal:checked ~ .skills-terminal .sk-prompt-builder-portal { display: block; } + +/* Terminal action buttons (right side of bar) */ +.terminal-actions { + display: flex; + align-items: center; + gap: 6px; + margin-left: auto; +} + +.terminal-open-cursor { + display: flex; + align-items: center; + gap: 5px; + background: #2a2a2e; + border: 1px solid rgba(255, 255, 255, 0.1); + color: #ffffff; + font-size: 11px; + font-weight: 500; + padding: 3px 8px; + border-radius: 5px; + cursor: pointer; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; + transition: background 0.15s; + white-space: nowrap; + text-decoration: none; + line-height: 1; +} + +.terminal-open-cursor:hover { + background: #3a3a3e; +} + + +/* Comparison table */ +.compare-table { + width: 100%; + border-collapse: collapse; + font-size: 14px; + margin: 16px 0; +} + +.compare-table thead th { + padding: 8px 16px 12px; + text-align: left; + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.06em; + color: #6b7280; + border-bottom: 1px solid #e5e7eb; +} + +html.dark .compare-table thead th, +html[data-theme="dark"] .compare-table thead th { + color: #6e7681; + border-bottom-color: #21262d; +} + +.compare-table thead th.col-featured { + color: #642DFF !important; +} + +.compare-table tbody td { + padding: 12px 16px; + border-bottom: 1px solid #f3f4f6; + font-size: 13.5px; + vertical-align: middle; + color: #374151; +} + +html.dark .compare-table tbody td, +html[data-theme="dark"] .compare-table tbody td { + border-bottom-color: rgba(255,255,255,0.06); + color: #c9d1d9; +} + +.compare-table tbody td:first-child { + font-weight: 600; + color: #111827; +} + +html.dark .compare-table tbody td:first-child, +html[data-theme="dark"] .compare-table tbody td:first-child { + color: #e6edf3; +} + +.compare-table tbody td.col-featured { + background: rgba(100, 45, 255, 0.05); +} + +html.dark .compare-table tbody td.col-featured, +html[data-theme="dark"] .compare-table tbody td.col-featured { + background: rgba(100, 45, 255, 0.09); +} + +.cmp-yes { color: #16a34a; font-weight: 500; } +.cmp-no { color: #9ca3af; } +.cmp-auto { color: #7c3aed; font-weight: 500; } + +html.dark .cmp-yes { color: #3fb950; } +html.dark .cmp-no, +html[data-theme="dark"] .cmp-no { color: #6e7681; } +html.dark .cmp-auto, +html[data-theme="dark"] .cmp-auto { color: #a78bfa; } + +/* AI Section Highlight — fond dégradé violet pour mettre en avant les use cases IA */ +.ai-section { + background: linear-gradient(135deg, rgba(100, 45, 255, 0.09) 0%, rgba(100, 45, 255, 0.03) 100%); + border: 1px solid rgba(100, 45, 255, 0.22); + border-radius: 16px; + padding: 28px 28px 20px; + margin: 8px 0 24px; +} + +.ai-section h3 { + margin-top: 0 !important; +} + +html[class*="dark"] .ai-section, +html[data-theme="dark"] .ai-section { + background: linear-gradient(135deg, rgba(100, 45, 255, 0.18) 0%, rgba(100, 45, 255, 0.06) 100%); + border-color: rgba(100, 45, 255, 0.38); +} + /* Remove duplicate page titles */ /* Mintlify shows the title from frontmatter in both header and as H1 */ article > h1:first-of-type, diff --git a/docs/docs.json b/docs/docs.json index bb472ed..e011128 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -60,12 +60,19 @@ "getting-started/quickstart", "getting-started/how-it-works", "getting-started/basic-concepts", + { + "group": "AI Quickstart", + "pages": [ + "getting-started/quickstart/ai-agent", + "getting-started/quickstart/remote-dev-environments", + "getting-started/quickstart/agent-skills" + ] + }, { "group": "Installation", "pages": [ "getting-started/quickstart/docker-desktop", "getting-started/quickstart/cloud", - "getting-started/quickstart/ai-agent", { "group": "Managed Cluster", "pages": [ diff --git a/docs/getting-started/how-it-works.mdx b/docs/getting-started/how-it-works.mdx index f357933..14ab013 100644 --- a/docs/getting-started/how-it-works.mdx +++ b/docs/getting-started/how-it-works.mdx @@ -1,20 +1,40 @@ --- title: "How Qovery Works" -description: "Understand the architecture behind Qovery's DevOps Automation Platform" +description: "Understand the architecture behind Qovery — the Kubernetes control plane for humans and AI agents" --- ## The Big Picture -Qovery extends Kubernetes into a **production-ready super orchestrator** that manages not just containers, but your entire cloud infrastructure—databases, storage, serverless functions, and more—all orchestrated through Kubernetes. +Qovery is **the Kubernetes control plane for humans and AI agents** — running entirely on your own cloud infrastructure. + +Whether a developer deploys via the console, an AI agent deploys via the Agent Skill, or a platform engineer manages clusters via Terraform, they all drive the same control plane. One consistent model, every interface. Qovery Architecture - Five products running on Kubernetes across multiple cloud providers Qovery Architecture - Five products running on Kubernetes across multiple cloud providers +## How AI Agents Interact with Qovery + +AI coding agents (Claude Code, Cursor, OpenCode, and 30+ others) interact with Qovery through two complementary interfaces: + + + + **Takes your source code → deploys it on Qovery** + + The AI agent analyzes your project, generates a Dockerfile, provisions databases, configures environment variables, and deploys — all autonomously. No Kubernetes knowledge required from the developer. + + + **Manages existing infrastructure via natural language** + + Once deployed, use the Qovery MCP Server to query environments, troubleshoot deployments, scale services, and manage infrastructure — all through conversation. + + + ## Why Kubernetes? -Kubernetes was designed for infrastructure operators—not developers. Qovery bridges this gap by adding: +Kubernetes was designed for infrastructure operators — not developers, and certainly not AI agents. Qovery bridges this gap by adding: - **Developer Experience** - Deploy without Kubernetes expertise +- **AI Agent Interface** - Agent Skill and MCP Server for autonomous operations - **Production Readiness** - Security, monitoring, and compliance built-in - **Multi-Cloud** - Works on AWS, GCP, Azure, Scaleway, on-premise - **Universal Orchestration** - Manages containers, databases, Terraform, and more @@ -58,13 +78,14 @@ Unlike traditional PaaS (Heroku, Platform.sh), Qovery runs on **your own cloud a ### 1. Multiple Interfaces -Work with Qovery through your preferred method: +Work with Qovery through your preferred method — all driving the same control plane: +- **[AI Agent Skill](/getting-started/quickstart/ai-agent)** - Deploy from Claude Code, Cursor, or any AI coding tool +- **[MCP Server](/copilot/mcp-server)** - Manage infrastructure via natural language - **Web Console** - Visual interface for teams - **[CLI](/cli/overview)** - Command-line for developers - **[Terraform](/terraform/overview)** - Infrastructure as Code - **[API](/api/overview)** - Programmatic control -- **[MCP Server](/copilot/mcp-server)** - AI agent integration ### 2. Production-Ready Features @@ -92,7 +113,29 @@ Manage **any cloud resource** from Kubernetes: This means **one control plane** for your entire cloud infrastructure. -## The Workflow +## Two Workflows + +### With an AI Agent (Recommended for New Users) + + + + Run `curl -fsSL https://skill.qovery.com/install.sh | bash` in your terminal + + + + Launch Claude Code, Cursor, OpenCode, or any compatible tool + + + + Say "Deploy my application with Qovery" — the agent handles everything from Dockerfile to running deployment + + + + Use the Qovery MCP Server to monitor, troubleshoot, and operate your infrastructure via natural language + + + +### With the Platform (Console / CLI / Terraform) @@ -100,7 +143,7 @@ This means **one control plane** for your entire cloud infrastructure. - Set app settings, variables, resources + Set app settings, variables, and resources via the Console or Terraform @@ -108,15 +151,18 @@ This means **one control plane** for your entire cloud infrastructure. - Track metrics, scale, optimize—all from one interface + Track metrics, scale, optimize — all from one interface ## Next Steps - - Deploy your first app in 15 minutes + + From code to deployed in ~10 minutes + + + Browse every deployment path Learn essential terminology @@ -124,7 +170,4 @@ This means **one control plane** for your entire cloud infrastructure. Deep dive into all five products - - Explore all configuration options - diff --git a/docs/getting-started/introduction.mdx b/docs/getting-started/introduction.mdx index ccacd76..fbf440e 100644 --- a/docs/getting-started/introduction.mdx +++ b/docs/getting-started/introduction.mdx @@ -1,183 +1,88 @@ --- title: "Introduction" -description: "Welcome to Qovery - Enterprise Kubernetes Management Platform" +description: "The Kubernetes control plane for humans and AI agents — on your own cloud." mode: "wide" --- ## Welcome to Qovery -Qovery is an **Enterprise Kubernetes Management Platform** that helps teams operate Kubernetes clusters reliably and consistently at scale, while enabling developers to deploy applications through safe, self-service workflows. +Qovery is the **Kubernetes control plane for humans and AI agents** — running on your own AWS, GCP, Azure, or Scaleway. -Instead of replacing Kubernetes or existing tools, Qovery provides a **central control plane** that standardises cluster operations, integrates with your cloud and ecosystem, and encodes operational best practices into the platform. +Describe what you want to deploy. An AI agent handles the rest. Or use the console, CLI, Terraform, or API. Everything drives the same control plane. -Developers ship faster. Platform and DevOps teams retain control. - - - - Self-service platform for deploying apps without waiting for DevOps - - - Runs on your own AWS, GCP, Azure, or Scaleway—you maintain full control - - - Built on Kubernetes with production-ready best practices - - - Automatic deployments on every Git push - - - -## What You Can Do With Qovery +--- -Qovery provides a unified platform to **manage Kubernetes clusters, environments, and application delivery** across your own cloud infrastructure. +## Two Ways to Work -From provisioning infrastructure to deploying applications, monitoring performance, optimizing costs, and securing your workloads—everything you need to run production applications on your own cloud infrastructure. +
-### Provision - Infrastructure Management +### Deploy with AI — the new way - - **Clusters on Any Cloud** - - AWS EKS, Google GKE, Azure AKS, Scaleway Kapsule. Production-ready in 30 minutes with BYOK* support + + Tell your AI agent to deploy. It analyzes your code, writes the Dockerfile, provisions the database, and ships to Kubernetes. - - **PostgreSQL, MySQL, MongoDB, Redis** - - Automated backups, replicas, high availability. Managed by your cloud provider with one-click setup + + Every developer and AI agent gets their own isolated environment. Spin up, experiment, tear down. - - **Terraform Integration** - - Provision S3 buckets, RDS instances, CloudFront, load balancers, VPCs, and networking infrastructure + + Manage deployed infrastructure through conversation — monitor, troubleshoot, scale. -### Deploy - Application Deployment +
- - - **All Languages & Frameworks** - - Node.js, Python, Go, Java, PHP, Ruby, .NET. Build from Dockerfile or deploy pre-built containers - - - **Deploy Complex Applications** - - Prometheus, Grafana, Elasticsearch, Redis, or any Helm chart from public or private repositories - - - **Preview Environments** - - Auto-deploy on Git push. Environment per PR. Dev → Staging → Prod pipelines. Zero downtime deployments - - - **Service Orchestration** - - Deploy dozens of services with Kubernetes. Service mesh, load balancing, centralized configuration - - - **REST, GraphQL, gRPC** - - Load balancing, auto-scaling, custom domains, automatic SSL. Monitor with real-time logs and metrics - - - **Cron & Lifecycle Jobs** - - Scheduled tasks, background workers, database migrations, seeding, pre/post-deployment hooks - - - **Deploy with Claude Code, Cursor, OpenCode** +### The platform - full control - Install the Qovery skill, ask your AI agent to deploy. It analyzes your code, creates Dockerfiles, provisions databases, and deploys automatically - + + Visual UI + Command-line + Infrastructure as Code + Programmatic access -### Observe - Monitoring & Logging - - - - **Complete Observability Included** - - 📊 **Metrics:** CPU, memory, disk, network usage per service - - 📝 **Logs:** Real-time application logs (stdout/stderr), build logs, search and filter - - ⚙️ **Events:** Kubernetes events tracking (pod restarts, failures, scaling) - - 📜 **History:** Full deployment history and status tracking - - ✨ **No setup required** - Available immediately for all services - - - **Connect Your Monitoring Tools** - - Integrate with your existing observability stack: - - **Datadog** - Full platform integration - - **Custom solutions** - Prometheus, Grafana, ELK - - **Webhooks** - Send deployment events to any endpoint - - +--- -### Optimize - Cost & Performance +## What Qovery Covers - - **Save Up to 60% on Infrastructure** - - Karpenter intelligent provisioning (AWS EKS). Spot instances for non-production. Sleep mode for dev/staging environments + + Managed Kubernetes on AWS, GCP, Azure, Scaleway. Ready in 30 min. BYOK supported. - - **Scale Based on CPU** - - Horizontal pod auto-scaling based on CPU usage. Automatic load balancing across replicas + + Any language, any framework. GitOps, preview environments, zero-downtime rollouts. - - **Right-Size Your Apps** - - Monitor resource usage to optimize container sizes. Set CPU and memory limits per service + + Real-time logs, metrics, Kubernetes events. No setup required. - - -### Secure - Security & Compliance - - - - **SOC2, GDPR, HIPAA, DORA, HDS** - - Enterprise compliance built-in. Audit logs. Security best practices by default + + Spot instances, sleep mode, right-sizing. Up to 60% cost savings. - - **Secrets & Access Control** - - Secrets management with Doppler or External Secrets. RBAC for team permissions. SSO. Network isolation. Automatic SSL/TLS + + SOC2, GDPR, HIPAA, DORA. RBAC, SSO, secrets management, audit logs. - - **Full Control & Transparency** - - Runs on your cloud account. kubectl access. No vendor lock-in. BYOK* support. Direct cloud billing + + Automated version upgrades and node patching. No manual intervention. - -*BYOK = Bring Your Own Kubernetes - Connect your existing Kubernetes cluster to Qovery - +BYOK = Bring Your Own Kubernetes — connect your existing cluster to Qovery --- -## What's Next? +## Get Started - - Deploy your first app in 15 minutes + + From code to deployed in ~10 minutes + + + Choose your deployment path Understand the architecture - Learn essential terminology - - - Deep dive into all five products + Essential terminology diff --git a/docs/getting-started/quickstart.mdx b/docs/getting-started/quickstart.mdx index 4106e6d..ae9830c 100644 --- a/docs/getting-started/quickstart.mdx +++ b/docs/getting-started/quickstart.mdx @@ -1,246 +1,71 @@ --- title: "Get Started with Qovery" -description: "Deploy your first app in 15 minutes. No Kubernetes knowledge required." mode: "wide" --- - -**New to Qovery?** Start by choosing your use case below. We'll guide you through creating a cluster (the prerequisite) and then walk you through the complete setup for your specific scenario. - +Qovery runs on your own cloud — AWS, GCP, Azure, or Scaleway. Tell your AI agent to deploy, or use the console, CLI, and Terraform. Everything drives the same Kubernetes control plane. -## Choose Your Use Case +Choose your deployment path. -Select the scenario that best matches your needs: +## AI-Powered Paths - - - **Explore Qovery without cloud costs** - - Perfect for: - - **First-time users** exploring the platform - - **Local development** and testing - - **Learning** Qovery features risk-free - - **Proof of concepts** before production - - What you get: - - Free local k3s cluster on your laptop - - Full Qovery feature access - - No cloud account or credit card needed +
- **Time:** ~15 minutes | **Cost:** Free + + + Tell your agent to deploy. It handles Dockerfile, database, env vars, and Kubernetes — automatically. - → **Path: Docker Desktop** + **~10 min** · Claude Code, Cursor, OpenCode, 30+ tools + + Each developer or AI agent gets their own isolated environment. Clone, use, destroy. - - **Deploy scalable applications to production** - - Perfect for: - - **SaaS platforms** with multi-tenant architecture - - **Web applications** needing auto-scaling - - **API services** (REST, GraphQL, gRPC) - - **Microservices** architectures - - **Your journey:** - 1. Create a managed cluster (AWS/GCP/Azure/Scaleway) - ~30 min - 2. Follow the complete production setup guide - 3. Deploy your first application with auto-scaling & monitoring - - **Time:** ~45 minutes total | **Expertise:** None required - - → **Complete Guide Available** + **~10 min** · Pay only while active + - - **Temporary environments for every pull request** - - Perfect for: - - **Preview environments** for each PR/branch - - **QA testing** with isolated environments - - **Feature testing** before merging to main - - **Demo environments** for stakeholders +
- **Your journey:** - 1. Create a managed cluster (AWS/GCP/Azure/Scaleway) - ~30 min - 2. Follow the ephemeral environment setup guide - 3. Enable auto-preview for automatic PR environments +## Platform Paths - **Time:** ~45 minutes setup | **Per PR:** Automatic + + + A full-stack environment auto-created for every pull request. Deleted on merge. - → **Complete Guide Available** + **~45 min setup** · Automatic per PR + + Deploy scalable applications with auto-scaling, managed databases, and zero-downtime rollouts. - - **Full control over infrastructure** - - Perfect for: - - **Existing Kubernetes clusters** to connect - - **Compliance requirements** (HIPAA, PCI-DSS, custom) - - **On-premise or hybrid** infrastructure - - **Custom networking** and security configs - - **Your journey:** - 1. Prepare your existing Kubernetes cluster (or create one) - 2. Follow the BYOK integration guide - 3. Connect Qovery to your cluster with full control - - **Time:** ~20 minutes | **Control:** Complete - - → **Bring Your Own Cluster (BYOK)** + **~45 min** · AWS, GCP, Azure, Scaleway + + Free local k3s cluster on your laptop. Full Qovery features, no cloud account needed. - - **Use Claude Code, Cursor, OpenCode, or any AI coding agent** - - Perfect for: - - **Developers** who prefer working in their terminal or IDE - - **AI-first workflows** — describe what you want, the agent does the rest - - **Quick prototyping** — from source code to deployed in minutes - - **Zero Kubernetes knowledge** required - - What the agent does for you: - - Analyzes your codebase and creates Dockerfiles if missing - - Provisions databases (container for dev, managed for production) - - Sets up environment variables, health checks, and deployment stages - - Deploys via CLI + API or Terraform and watches for failures - - **Time:** ~10 minutes | **Tools:** Claude Code, Cursor, OpenCode, VS Code Copilot, Gemini CLI, 30+ more + **~15 min** · Free + + + Connect an existing Kubernetes cluster. Full compliance, custom networking, BYOK. - → **Install the Qovery Skill** + **~20 min** · Complete control --- -## Detailed Use Case Comparison - - - - **Use Case: Local Development & Exploration** - - **Best for:** - - Developers new to Qovery wanting to explore features - - Teams evaluating Qovery for adoption - - Students and learners practicing DevOps - - Building POCs before cloud deployment - - **What you can do:** - - Deploy apps, databases, and jobs locally - - Test GitOps workflows with GitHub/GitLab - - Practice Qovery CLI and Console - - Experiment with environment configurations - - Learn Kubernetes concepts without cloud costs - - **Limitations:** - - Runs on laptop (limited resources) - - Not for production workloads - - Single-node cluster - - **Path:** Docker Desktop | **Time:** 15 min | **Cost:** Free - - - - **Use Case: SaaS, Web Apps, APIs, Microservices** - - **Best for:** - - SaaS platforms with paying customers - - High-traffic web applications - - RESTful/GraphQL/gRPC APIs - - Microservices architectures - - Production workloads requiring 99.9% uptime - - **Complete Journey:** - - **Step 1: Create Your Cluster (Prerequisite)** - - Choose your cloud provider (AWS/GCP/Azure/Scaleway) - - Qovery provisions managed Kubernetes for you - - Multi-AZ for high availability - - Time: ~30 minutes - - **Step 2: Follow the Production Guide** - - Deploy Node.js, Python, Go, Java, PHP, Ruby, .NET apps - - Set up auto-scaling based on traffic - - Configure managed databases with automatic backups - - Add custom domains with automatic SSL - - Enable zero-downtime deployments - - Set up monitoring (Datadog or Qovery Observe) - - [→ View Complete Production Guide](/guides/use-cases/production-environment-management) - - - - **Use Case: Temporary Environments for Testing & Review** - - **Best for:** - - Preview environments for every pull request - - QA teams testing features in isolation - - Product managers reviewing features before release - - Stakeholder demos without affecting production - - Short-lived environments for testing - - **Complete Journey:** - - **Step 1: Create Your Cluster (Prerequisite)** - - Choose your cloud provider (AWS/GCP/Azure/Scaleway) - - Qovery sets up the infrastructure - - Time: ~30 minutes - - **Step 2: Follow the Ephemeral Environment Guide** - - Enable auto-preview environments - - Configure automatic PR environment creation - - Set up full-stack previews (app + database) - - Configure automatic cleanup on PR close - - Share unique URLs with your team - - Cost-effective: only pay when environments are active - - **How it works after setup:** - 1. Open pull request in GitHub/GitLab - 2. Qovery auto-creates preview environment - 3. Get unique URL to access (e.g., `pr-123.preview.example.com`) - 4. Test, review, and iterate - 5. Merge PR → Environment auto-deleted - - [→ View Complete Ephemeral Environment Guide](/guides/use-cases/ephemeral-environment) - - - - **Use Case: Existing Clusters, Compliance, On-Premise** - - **Best for:** - - Organizations with existing Kubernetes clusters - - Regulated industries (Healthcare, Finance, Government) - - Companies with strict compliance (HIPAA, PCI-DSS, SOC2) - - On-premise or air-gapped environments - - Hybrid cloud architectures - - Teams with dedicated platform/SRE engineers - - **Complete Journey:** - - **Step 1: Prepare Your Cluster (Prerequisite)** - - Use your existing Kubernetes 1.24+ cluster, OR - - Create a new cluster on any platform (AWS, GCP, Azure, DigitalOcean, OVH, Civo, on-premise) - - Ensure kubectl access and proper permissions - - Time: Depends on your setup - - **Step 2: Follow the BYOK Integration Guide** - - Install Qovery agent on your cluster - - Configure custom networking and security policies - - Set up your monitoring and logging - - Define autoscaling rules - - Maintain complete control over infrastructure - - **You manage:** - - Kubernetes cluster provisioning and upgrades - - Infrastructure security and networking - - Backup and disaster recovery - - **Qovery provides:** - - Developer-friendly UI and CLI - - GitOps workflows and CI/CD - - Environment management - - Application deployment and monitoring - - [→ View BYOK Integration Guide](/installation/kubernetes) - - +## Every Interface, One Control Plane + + + Deploy from your AI tool + + + Manage via natural language + + + Visual UI + + + Code & automation + + diff --git a/docs/getting-started/quickstart/agent-skills.mdx b/docs/getting-started/quickstart/agent-skills.mdx new file mode 100644 index 0000000..854e4e8 --- /dev/null +++ b/docs/getting-started/quickstart/agent-skills.mdx @@ -0,0 +1,187 @@ +--- +title: "Qovery Agent Skills" +description: "Skills that give your AI agent the ability to deploy, troubleshoot, optimize, and manage Kubernetes infrastructure." +mode: "wide" +--- + +
+ +One install. Your agent picks the right skill automatically. + +```bash +curl -fsSL https://skill.qovery.com/install.sh | bash +``` + +→ [Compatible tools and setup guide](/getting-started/quickstart/ai-agent) + +
+ +--- + +## Available Skills + +
+ + + + + + + + + +
+ + + + + + + + +
+ +
+ Guided setup — evaluates your stack, recommends the right cluster config, and walks you through onboarding step by step. + From source code to running app — Dockerfile, database, env vars, deployment, and auto-fix on failure. + 8-layer diagnostic against 20+ error patterns. Outputs a structured report with fixes. + Analyzes costs across 7 dimensions. Recommends right-sizing, spot instances, and sleep mode. CSV export. + Measures full pipeline timing, finds bottlenecks, fixes Dockerfile layers and build cache. + Full-stack preview environment per PR — app, database, unique URL. Auto-deleted on merge. + Self-service environments for non-technical teams — with RBAC so they can't touch production. + Generates and deploys a web portal — SSO login, one-click environments, no CLI needed. +
+ +
+
+
+
+
+
+
+
claude
+
+ + +
+
+
+ I'm new to Qovery, help me get started + Deploy my application with Qovery + My deployment is failing + Optimize my Qovery costs + My deployments are slow + Set up preview environments for my project + Set up builder environments for non-tech teams + Generate a builder portal for my team +
+
+
+ +--- + +## Why Qovery for AI agents? + + + + Deploys to your own AWS, GCP, Azure, or Scaleway. Direct billing, no shared infra. + + + Every agent action logged — what changed, when, by which agent. + + + Agents respect your permission model. Builders deploy, can't touch cluster config. + + + Environments up and down in minutes. Sleep mode and TTL handle cleanup. + + + Auto-fixes common failures. No waiting for a human. + + + MIT-licensed. Fork, customize, extend. [github.com/Qovery/qovery-skills](https://github.com/Qovery/qovery-skills) + + + +--- + + + + Install and deploy your first app + + + View or fork on GitHub + + diff --git a/docs/getting-started/quickstart/ai-agent.mdx b/docs/getting-started/quickstart/ai-agent.mdx index 439f840..369223a 100644 --- a/docs/getting-started/quickstart/ai-agent.mdx +++ b/docs/getting-started/quickstart/ai-agent.mdx @@ -1,170 +1,204 @@ --- title: "Deploy with AI Agent" -description: "Use Claude Code, Cursor, OpenCode, or any AI coding agent to deploy your application on Qovery with a single prompt." +description: "Tell your AI coding agent to deploy. It handles everything — from your code to a live Kubernetes deployment." +mode: "wide" --- -Install the Qovery Agent Skill and let your AI coding agent deploy your application end-to-end — from analyzing your codebase to a running deployment on Kubernetes. No Kubernetes knowledge required. +# Deploy to Kubernetes with your AI agent. - -**Skill vs MCP Server — what's the difference?** - -- **Qovery Agent Skill** (this page) = **Forward engineering.** Takes your source code and deploys it on Qovery. The AI agent analyzes your project, creates Dockerfiles, provisions databases, sets up environment variables, and deploys everything. -- **[Qovery MCP Server](/copilot/mcp-server)** = **Operations.** Manages existing infrastructure. Query environments, troubleshoot deployments, monitor services. - -Both can be used together: use the skill to deploy, then the MCP Server to manage. - - ---- - -## Install the Skill +**Qovery account** — [console.qovery.com](https://console.qovery.com) (free to start) +**Git repository** — GitHub, GitLab, or Bitbucket -One command installs the skill globally for all your projects: +
- - - ```bash - curl -fsSL https://skill.qovery.com/install.sh | bash - ``` +One install. Your agent picks the right skill automatically. - This installs the skill to all compatible tool directories automatically. No manual configuration needed. - - - - Launch Claude Code, Cursor, OpenCode, VS Code Copilot, Gemini CLI, or any compatible tool. - - - - ``` - Deploy my application with Qovery - ``` - - The agent loads the skill automatically and guides you through the entire process. - - - - -To install for the current project only (instead of globally), run: ```bash -curl -fsSL https://skill.qovery.com/install.sh | bash -s -- --project +curl -fsSL https://skill.qovery.com/install.sh | bash ``` -To update to the latest version, re-run the install command. - ---- - -## Compatible Tools - -The Qovery Agent Skill follows the [Agent Skills](https://agentskills.io) open standard and works with 30+ AI coding tools. The installer places the skill in all discovery paths automatically. - -| Tool | Supported | -|------|-----------| -| **Claude Code** | Yes | -| **Cursor** | Yes | -| **OpenCode** | Yes | -| **VS Code Copilot** | Yes | -| **Gemini CLI** | Yes | -| Roo Code | Yes | -| Goose | Yes | -| Amp | Yes | -| Kiro | Yes | -| Junie (JetBrains) | Yes | -| OpenHands | Yes | -| OpenAI Codex | Yes | -| Mistral Vibe | Yes | -| TRAE | Yes | - -And any other tool that discovers skills from `.claude/skills/` or `.agents/skills/` directories. - ---- - -## What the Skill Does - -When you tell your AI agent to deploy, the skill guides it through a complete deployment workflow: - -1. **Analyzes your codebase** — detects language, framework, ports, database needs, environment variables -2. **Creates a Dockerfile** if one is missing — production-ready multi-stage templates for Node.js, Next.js, React, Vite, Python, Go, Java, Ruby, PHP, .NET -3. **Asks the right questions** — dev vs production, database type, deployment method -4. **Sets up infrastructure** — cluster creation from scratch if needed (AWS, GCP, Azure, Scaleway) -5. **Deploys via CLI + API** (quick path) or **Terraform provider** (recommended for production) -6. **Provisions databases** — container mode for dev/test, managed mode (e.g. AWS RDS) for production, or Terraform services for RDS Aurora -7. **Sets up environment variables** using aliases, interpolation, and overrides — no duplication -8. **Handles Helm charts, Terraform modules, lifecycle jobs, and cron jobs** -9. **Watches deployments and auto-fixes failures** — diagnoses build errors, port mismatches, health check failures, missing env vars, and OOM issues. Fixes Qovery configuration automatically; asks for permission before modifying your code +→ [All skills](/getting-started/quickstart/agent-skills) + +
+ +Then open Claude Code, Cursor, OpenCode, or any compatible tool and say: + +
+
+
+
+
+
+
+
claude
+ +
+
+ Deploy my application with Qovery +
+
+ +No Dockerfile. No Kubernetes knowledge. No cluster needed upfront. --- -## What You Need +## Compatible Tools -**Qovery account** — [Sign up at console.qovery.com](https://console.qovery.com) (free to start) -**Git repository** connected to Qovery (GitHub, GitLab, or Bitbucket) + + + **Anthropic** · `Terminal` `Recommended` + + + **OpenCode** · `Terminal` `Open source` + + + **Google** · `Terminal` + + + **Anysphere** · `IDE` + + + **GitHub** · `IDE Extension` + + + **Roo** · `IDE Extension` + + + **Amazon** · `IDE` + + + **JetBrains** · `IDE Extension` + + + **Block** · `Standalone` `Open source` + + + **Sourcegraph** · `Standalone` + + + **All Hands AI** · `Standalone` `Open source` + + + **OpenAI** · `Standalone` + + + **Mistral** · `Standalone` + + + **ByteDance** · `Standalone` + + -That's it. The skill handles everything else: -- **No API token needed upfront** — the skill generates one via the Qovery CLI -- **No cluster needed upfront** — the skill guides you through cluster creation if you don't have one -- **No Dockerfile needed** — the skill creates one if missing -- **No Kubernetes knowledge needed** — the skill configures health checks, ports, deployment stages, and resource limits +Any tool discovering skills from `.claude/skills/`, `.config/opencode/skills/`, or `.agents/skills/` is compatible. + + + `qovery-deploy` · `qovery-preview` · `qovery-optimize` · `qovery-troubleshoot` · and 4 more → + + + + When you ask your agent to deploy, `qovery-deploy` runs through this workflow autonomously: + + + + Detects language, framework, ports, database needs, and environment variables. + + + Production-ready multi-stage template for your stack. Custom-generated for any other framework. + + + Dev or production? Which database? CLI+API or Terraform? A few questions — no YAML to write. + + + Cluster if needed, databases in container or managed mode, env vars with aliases and overrides. + + + Monitors the rollout. Auto-fixes build errors, port mismatches, health check failures. Asks before touching your code. + + + --- ## How It Compares -| | Console (Manual) | AI Agent Skill | MCP Server | -|---|---|---|---| -| **Purpose** | Full control via web UI | Fastest path from code to deployed | Manage existing infrastructure | -| **Creates Dockerfiles** | No | Yes, for 12+ frameworks | No | -| **Provisions databases** | Manual configuration | Automatic (asks dev vs prod) | No | -| **Sets up env vars** | Manual per variable | Automatic with aliases and overrides | No | -| **Deployment method** | Console UI | CLI + API or Terraform | N/A | -| **Monitors & fixes failures** | Manual log inspection | Automatic diagnosis and auto-fix | Query-based | -| **Best for** | Experienced users, fine-tuning | Developers deploying from code | Day-2 operations | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConsoleAI Agent SkillMCP Server
Creates Dockerfiles— No✓ Yes, 12+ frameworks— No
Provisions databasesManual✓ Automatic— No
Monitors & fixes failuresManual✓ Auto-fixQuery-based
Best forFine-tuningDeploying from codeDay-2 ops
---- - -## Supported Frameworks - -The skill includes production-ready Dockerfile templates for: - -| Language | Frameworks | -|----------|-----------| -| **Node.js** | Express, Fastify, NestJS | -| **Next.js** | SSR with standalone output | -| **React / Vite** | SPA served via nginx | -| **Python** | Flask, Django, FastAPI | -| **Go** | Any (net/http, Gin, Echo, Fiber, etc.) | -| **Java** | Spring Boot (Maven and Gradle) | -| **Ruby** | Rails | -| **PHP** | Laravel | -| **.NET** | ASP.NET Core | - -If your framework is not listed, the agent creates a custom Dockerfile based on your project structure. + +The Skill deploys. The MCP Server operates. Use both together. [→ MCP Server](/copilot/mcp-server) + --- -## Example Prompts - -Once the skill is installed, try any of these prompts with your AI coding agent: + +**Project-only install:** `curl -fsSL https://skill.qovery.com/install.sh | bash -s -- --project` -- *"Deploy my application with Qovery"* -- *"Set up Qovery for my project"* -- *"Deploy this to Kubernetes with Qovery"* -- *"Create a Qovery Terraform configuration for my app"* -- *"I need a production deployment with a PostgreSQL database"* +**Update:** re-run the install command. + --- ## Next Steps - - Manage deployed infrastructure from your AI agent + + Deploy, troubleshoot, optimize, preview - - Version-controlled infrastructure as code + + Manage infrastructure from your AI agent - - Monitor, debug, and manage from the terminal + + Infrastructure as Code - View, contribute, or fork on GitHub + Fork or contribute diff --git a/docs/getting-started/quickstart/remote-dev-environments.mdx b/docs/getting-started/quickstart/remote-dev-environments.mdx new file mode 100644 index 0000000..56349f0 --- /dev/null +++ b/docs/getting-started/quickstart/remote-dev-environments.mdx @@ -0,0 +1,111 @@ +--- +title: "Remote Dev Environments" +description: "One environment per person, per agent. On your own Kubernetes." +mode: "wide" +--- + +
+ +One environment per person, per agent. Anyone in your org — engineers, designers, PMs, AI agents — can spin up a fully configured clone of your production stack. Auto-shutdown when idle. + +```bash +curl -fsSL https://skill.qovery.com/install.sh | bash +``` + +Then ask your agent: + +
+
+
+
+
+
+
+
claude
+ +
+
+ Create a dev environment for my project with Qovery +
+
+ +
+ +--- + + + + Each developer or agent gets their own isolated stack. + + + From request to productive environment. + + + Idle environments stop automatically. No waste. + + + +--- + +## Why local dev is broken + + + + Docker Desktop consumes 12+ GB RAM. Port collisions, broken WSL2 file watchers, slow macOS bind mounts. Your platform team fixes environment issues instead of building product. + + + Running Claude Code on a developer's laptop exposes SSH keys, API tokens, and local credentials. A dedicated Kubernetes sandbox limits the blast radius. + + + A PM reproducing a bug or a designer testing a variant can't set up Docker Compose. They file tickets and wait. + + + +--- + +## How It Works + + + + Define your environment in Qovery — app, database, services, env vars. One template for everyone. + + + Engineer, designer, PM, or AI agent — each gets a fully isolated environment in under 4 minutes. + + + Submit a PR when done. The environment shuts down when idle. No cleanup needed. + + + +--- + +## Next Steps + + + + From code to running app in ~10 minutes. + + + All skills including qovery-builder-env and qovery-builder-portal. + + + Auto-created full-stack environment per pull request. + + + SSO, RBAC, audit logs, SOC2, HIPAA, GDPR. + + diff --git a/docs/images/logos/ai-tools/amp.svg b/docs/images/logos/ai-tools/amp.svg new file mode 100644 index 0000000..c2dfe36 --- /dev/null +++ b/docs/images/logos/ai-tools/amp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/logos/ai-tools/anthropic.svg b/docs/images/logos/ai-tools/anthropic.svg new file mode 100644 index 0000000..831452b --- /dev/null +++ b/docs/images/logos/ai-tools/anthropic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/logos/ai-tools/bytedance.svg b/docs/images/logos/ai-tools/bytedance.svg new file mode 100644 index 0000000..3cb4c78 --- /dev/null +++ b/docs/images/logos/ai-tools/bytedance.svg @@ -0,0 +1 @@ +ByteDance \ No newline at end of file diff --git a/docs/images/logos/ai-tools/cursor.svg b/docs/images/logos/ai-tools/cursor.svg new file mode 100644 index 0000000..14085aa --- /dev/null +++ b/docs/images/logos/ai-tools/cursor.svg @@ -0,0 +1 @@ +Cursor \ No newline at end of file diff --git a/docs/images/logos/ai-tools/githubcopilot.svg b/docs/images/logos/ai-tools/githubcopilot.svg new file mode 100644 index 0000000..fc0d041 --- /dev/null +++ b/docs/images/logos/ai-tools/githubcopilot.svg @@ -0,0 +1 @@ +GitHub Copilot \ No newline at end of file diff --git a/docs/images/logos/ai-tools/googlegemini.svg b/docs/images/logos/ai-tools/googlegemini.svg new file mode 100644 index 0000000..62681df --- /dev/null +++ b/docs/images/logos/ai-tools/googlegemini.svg @@ -0,0 +1 @@ +Gemini \ No newline at end of file diff --git a/docs/images/logos/ai-tools/goose.png b/docs/images/logos/ai-tools/goose.png new file mode 100644 index 0000000..caf53c8 Binary files /dev/null and b/docs/images/logos/ai-tools/goose.png differ diff --git a/docs/images/logos/ai-tools/jetbrains.png b/docs/images/logos/ai-tools/jetbrains.png new file mode 100644 index 0000000..d90216a Binary files /dev/null and b/docs/images/logos/ai-tools/jetbrains.png differ diff --git a/docs/images/logos/ai-tools/kiro.svg b/docs/images/logos/ai-tools/kiro.svg new file mode 100644 index 0000000..5fe3cf6 --- /dev/null +++ b/docs/images/logos/ai-tools/kiro.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/images/logos/ai-tools/mistral.png b/docs/images/logos/ai-tools/mistral.png new file mode 100644 index 0000000..072c164 Binary files /dev/null and b/docs/images/logos/ai-tools/mistral.png differ diff --git a/docs/images/logos/ai-tools/openai.svg b/docs/images/logos/ai-tools/openai.svg new file mode 100644 index 0000000..3b4eff9 --- /dev/null +++ b/docs/images/logos/ai-tools/openai.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/docs/images/logos/ai-tools/opencode.svg b/docs/images/logos/ai-tools/opencode.svg new file mode 100644 index 0000000..b79140a --- /dev/null +++ b/docs/images/logos/ai-tools/opencode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/logos/ai-tools/openhands.png b/docs/images/logos/ai-tools/openhands.png new file mode 100644 index 0000000..799c7ee Binary files /dev/null and b/docs/images/logos/ai-tools/openhands.png differ diff --git a/docs/images/logos/ai-tools/roocode.png b/docs/images/logos/ai-tools/roocode.png new file mode 100644 index 0000000..ca26106 Binary files /dev/null and b/docs/images/logos/ai-tools/roocode.png differ