Deploying Applications
Deploy an application to your Kubernetes cluster straight from a GitHub or GitLab repository using the AI Agent Deploy feature. The agent fetches your repository, detects the framework, generates and builds a Dockerfile, and creates the Deployment / Service / Ingress.
Prerequisites
- A running Kubernetes cluster
- A GitHub or GitLab account with a personal access token (PAT)
- A repository built with a supported framework (currently Nuxt / Next.js)
Step 1: Connect a Git provider
Connect GitHub / GitLab before deploying. This is done under Settings → Integrations (there are no "GitHub"/"GitLab" items in the sidebar).
- Open Settings → Integrations
- On the GitHub or GitLab card, create a token via the link to the token page
- GitHub: scope
repo - GitLab: scopes
read_repository,read_api,api
- GitHub: scope
- Paste the token into the card and Connect
Both GitHub and GitLab use a pasted personal access token (PAT), not OAuth.
Step 2: Deploy an application
Deploy from the sidebar under AI Agents → Deploy.
- Open AI Agents → Deploy
- Choose a connected source provider (GitHub / GitLab). If not connected, you're pointed to Settings → Integrations
- Select a repository
- Only Nuxt / Next.js repositories can be selected. Unsupported frameworks are blocked with a message like
This repository (detected: …) is not supported
- Only Nuxt / Next.js repositories can be selected. Unsupported frameworks are blocked with a message like
- Configure the deployment
- Branch (the repository's default branch is filled in automatically)
- Cluster and Namespace
- Replicas (default 1)
- Expose (turn on to set a port, and optionally a domain)
- Environment variables
- Start the deployment and watch the agent's progress in real time (framework detection, Dockerfile generation, build, rollout)
A Dockerfile is not required in the repository. The agent generates one to match the detected framework (Nuxt / Next.js, etc.).
Post-deployment management
Manage deployed apps from the sidebar under AI Agents → Apps. For each app you can:
- Update — pull the latest code and redeploy
- Scale — change the replica count
- Delete — remove the deployment and its resources
Status is shown as one of:
| Status | Meaning |
|---|---|
| Running | Operating normally |
| Updating | Applying an update |
| Failing | Failed to run |
| Unknown | State could not be retrieved |
For more on using agents (approvals, limits, activity history), see the AI Agents documentation.
How this differs from the cluster "Services" tab
The Services tab on the cluster details page installs curated catalog / Helm apps (e.g. a Next.js template, Grafana, Ollama), which is separate from deploying your own repository described here. See Services (Catalog) for catalog deploys. To deploy your own code, use AI Agents → Deploy above.
Troubleshooting
"Unsupported framework"
The deploy agent supports Nuxt / Next.js only. Confirm the repository's package.json declares one of them.
Can't pick a provider / "please connect"
GitHub / GitLab isn't connected. Register a token under Settings → Integrations.
A deployment fails
- Check that the branch is correct
- Review the error in the agent's run history (AI Agents → Activities)
- Long build + rollout runs can exceed the default limits — split the goal into smaller steps and retry
The app never starts after deploying (stays pending)
- Open the app from the Services tab — the app details panel explains why it is waiting to start. When the cluster is out of free CPU/memory, delete unused apps or add worker nodes
- Apps whose catalog card shows a "May not fit free resources" warning can stay pending after deploy
Cannot access the application
- Confirm you enabled Expose at deploy time and set a port (and a domain if needed)
- Check that the Pod is running in the cluster's Kubernetes tab
- If using a custom domain, check your DNS settings