Deploy

Internal and design-partner use. This guide deploys to a KOBIL-managed cluster with kobilctl, using access your KOBIL contact provides. To run an agent on your own Kubernetes, talk to your KOBIL contact.
Before you start Integrate the SDK first
Phase 1 / 3

Prepare

Install the CLI, connect to the cluster, and let kobilctl tell you the URL your agent will answer on.

0

Install

What: the CLI, connected to the cluster.

How: one credential, plus standard machine setup.

The credential — your registry token, from a platform admin. It is the only one you are given: login exchanges it for cluster access itself, so you never request or handle a cluster credential.

The machine setup — one-time, and nothing to rotate:

  • Node 20 or newer, with kubectl, helm and git on your PATH
  • SSH access to the cluster host: your admin authorises your key, and gives you the alias for ~/.ssh/config. kobilctl opens and repairs the tunnel itself.
  • Docker is not required — the cluster builds your image
install
cat >> ~/.npmrc <<'EOF'
@development:registry=https://gitlab.kobil.com/api/v4/packages/npm/
//gitlab.kobil.com/api/v4/packages/npm/:_authToken=YOUR_DEPLOY_TOKEN
EOF
chmod 600 ~/.npmrc

npm install -g @development/kobilctl

This is a different registry — and a different token — from the @kobil one in the Integration Guide. The SDK token does not install kobilctl: GitLab reports the mismatch as 404 Project not found, not as an auth error. Ask your platform admin for the kobilctl install token.

connect
kobilctl login alice

login writes ~/.kobil/kubeconfig.yaml at mode 0600. Access lasts 90 days and renews itself, so there is nothing to request later. Pass --token or --kubeconfig if you were handed either; a kubeconfig you supply is never touched.

Checkpoint · local

kobilctl doctor reports no failures.

1

Describe the app

What: a Dockerfile, a kobil.json, and your URL.

How: run init in the agent's directory.

init
cd my-agent && kobilctl init
# → https://alice-my-agent.shift-go.uk

Run this before you open the Dashboard, so you know the host before anything references it (registration takes no description field — the URL is for your own records). Registration itself does not ask for the URL.

Commit kobil.json. Its app field fixes your namespace and URL, so every redeploy lands on the same host.

"oidc": false tells deploy the Dashboard owns the login. init can only add it once agent credentials exist, so set it by hand after Step 3. Leave it out if the app has its own user login.

On a Next.js project, init also adds output: "standalone" to your Next config if it is missing, and tells you it did. The generated image ships .next/standalone, which Next only produces when asked; without it the container starts and exits immediately.

Checkpoint · local

kobil.json has your app name (plus "oidc": false only if the Dashboard owns the login), and init printed your URL.