Skip to main content

deploy_artifact

The primary tool for deploying web artifacts to the cluster.

Input Schema

ParameterTypeRequiredDescription
namestringYesUnique DNS-safe name (lowercase, hyphens OK)
filesobjectYesMap of relative file paths to file content. Tip: Provide a Dockerfile at the root to completely customize the build.
languagestringNoLanguage hint (nodejs, python, go, static)
targetstringNoDeployment target (auto, sandbox, kubernetes)
env_varsobjectNoEnvironment variables for the artifact
secret_refsobjectNoMap of env var name to K8s Secret reference (secret-name:key)
portnumberNoPort the app listens on (auto-detected)

Example

{
"name": "my-portfolio",
"files": {
"index.html": "<!DOCTYPE html><html>...</html>",
"style.css": "body { font-family: sans-serif; }",
"app.js": "console.log('Hello from vibeD!');"
},
"target": "auto"
}

Response

{
"artifact_id": "a1b2c3d4e5f6g7h8",
"name": "my-portfolio",
"url": "http://my-portfolio.default.localhost",
"status": "running"
}

What Happens

  1. Validates the name (DNS-safe, unique).
  2. Stores the source tarball to the configured source store.
  3. Classifies the source into a lane and template.
  4. Creates a VibedApp and the controller claims a warm sandbox and injects the source — no container build on the deploy path.
  5. Returns the access URL once the app reaches Ready (or a status_url to poll if it took a slow path).

See App lifecycle for the phases the app moves through.