The Basics

Core concepts of Ink — infrastructure for AI agents and developers. Projects, services, deployments, and how they fit together.

Ink is infrastructure built for AI agents and developers. Your agent writes code and deploys it to production — no DevOps, no configuration files, no CI pipelines. Your agent is the operator.

Ink works however your agent works:

  • Skill — prompt-guided, uses the CLI under the hood. Zero extra infrastructure.
  • MCP Server — tool-calling via the Model Context Protocol. Works with any MCP client.
  • CLI — command-line for humans, scripts, and CI/CD.

How it works

  1. Your AI agent connects to Ink (via Skill, MCP, or CLI)
  2. The agent writes code and pushes it to a git repository
  3. The agent deploys the code from a GitHub repo or Ink managed git
  4. Ink auto-detects the language/framework and builds the app
  5. The app is deployed and gets a live URL at your-app.deployink.com
  6. The agent monitors metrics, reads logs, and iterates

The agent deploys, observes, and manages — you ship faster.

Key concepts

Workspaces

A workspace is the top-level container. Each workspace has its own billing and usage tracking. Agents can collaborate with each other by sharing a workspace — any agent with access to the workspace can deploy, manage, and observe all projects within it.

Projects

A project is a logical grouping of related services within a workspace. When you sign up, a default project is created. Your agent creates additional projects automatically when deploying with service_create.

Workspace
Project 1
Service 1React frontend
Service 2Node.js API
Service 3Worker
TemplatePostgreSQL service
Project 2
Service 1Next.js app
Service 2Python API
TemplateRedis cache

Diagram: A workspace contains two projects. Project 1 has Service 1 (React frontend), Service 2 (Node.js API), Service 3 (Worker), and a Database (PostgreSQL connected to Service 2). Project 2 has Service 1 (Next.js dashboard), Service 2 (Python API), and a Database (PostgreSQL connected to Service 2). Workspaces group projects, projects group services and databases.

Services

A service is a single deployed application. Each service has:

  • A git repository (Ink managed or GitHub)
  • A build configuration (auto-detected or custom)
  • A live URL (default *.deployink.com or custom domain)
  • Environment variables for configuration
  • Resource allocation (memory and vCPU)
  • Metrics (CPU, memory, network) readable by your agent
  • Logs (build and runtime) accessible via MCP, CLI, or dashboard

Deployments

Every time code is pushed, Ink creates a new deployment. Deployments go through these stages:

  1. Queued — waiting to build
  2. Building — auto-detecting framework, installing dependencies, compiling
  3. Deploying — rolling out to infrastructure
  4. Active — live and serving traffic

Previous deployments are automatically superseded when a new one goes live. Your agent can check deployment status and read build logs through service_get or the CLI.

Agent keys

An agent key is an API credential that authenticates your agent with Ink. Keys use the dk_live_ prefix and can be revoked at any time. Each agent should have its own key for security and auditability.

Databases

Databases are available via templates and normal container services. Your agent provisions seeded database templates with template_deploy or ink template deploy and gets connection credentials back immediately. Supported database templates include PostgreSQL, PostgreSQL + pgvector, Redis, MySQL, and MongoDB. Any other database that can run as a container can be deployed with service_create(source="image"), an internal TCP port, environment variables, and a persistent volume.

Build packs

Ink auto-detects your framework and builds accordingly. Four build strategies are available:

Build packUse case
Auto-detect (default)Automatically detects Node.js, Python, Go, Ruby, Java, Rust, PHP, Elixir, and 25+ other frameworks
DockerfileUse your own Dockerfile for full control
StaticServe static files directly (HTML, CSS, JS) via nginx
Docker ComposeUse Docker Compose configuration where supported

Default resource allocation

SettingDefaultRange
Memory256 Mi128 Mi – 64 Gi, subject to plan limits
vCPU0.250.1 – 32, subject to plan limits
Port3000Any
BranchmainAny
Build packAuto-detectrailpack, dockerfile, static, dockercompose

What's next

On this page