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).

  1. Open Settings → Integrations
  2. 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
  3. 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.

  1. Open AI Agents → Deploy
  2. Choose a connected source provider (GitHub / GitLab). If not connected, you're pointed to Settings → Integrations
  3. 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
  4. 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
  5. 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:

StatusMeaning
RunningOperating normally
UpdatingApplying an update
FailingFailed to run
UnknownState 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
On this page