Deployment

Guava Deploy is a managed cloud platform that lets you deploy Guava voice-agent projects without provisioning or managing your own infrastructure. When you run guava deploy up, the CLI packages your project, builds it in the cloud, and launches it for you. No servers to set up, no infrastructure to manage.

Security

Your deployments are secure by default:

  • Isolated environments — Each deployment runs in its own private sandbox, completely separated from other users' workloads.
  • Network protection — Your sandbox can make outbound requests to the internet (e.g. calling APIs), but no one can connect into your sandbox from the outside.
  • Secure credentials — Your API key and phone number are injected securely at runtime and never appear in logs.
  • Dedicated resources — CPU and memory are reserved for your deployment, so performance is consistent.

Step-by-step guide

Prerequisites

- A Guava account

- A terminal (macOS, Linux, or Windows PowerShell)

- The Guava CLI installed and authenticated — follow the Quickstart guide

Step 1 — Write your agent code

Edit your entry point (main.py for Python, main.ts for TypeScript) with your voice-agent logic.

Add dependencies the usual way for your language — a Python manifest/lockfile (pyproject.toml, requirements.txt, uv.lock, …) or a Node one (package.json, package-lock.json, pnpm-lock.yaml, yarn.lock). The build auto-detects them at deploy time; see dependency detection in the CLI reference for the exact install command per file.

Step 2 — Deploy

terminal
guava deploy up

The CLI will:

1. Check for changes — if your code hasn't changed since the last deploy, the build step is skipped automatically.

2. Upload your code to cloud storage.

3. Build a container image with your chosen base image and dependencies. The CLI shows build progress in the terminal.

4. Launch your sandbox and wait until it's running. The CLI shows the deployment status as it starts up.

To force a full rebuild even if your code hasn't changed:

terminal
guava deploy up --rebuild

If a deployment is already running, the CLI will ask whether to reuse or replace it.

Step 3 — Stop deployment

terminal
guava deploy down

Stops the running sandbox. You can also target a specific project:

terminal
guava deploy down --id <project-id>

Managing your deployment

Once your agent is deployed, these commands let you inspect and manage it:

CommandWhat it does
guava deploy statusShows whether your deployment is starting up, running, or has encountered an error.
guava deploy logsRuntime logs (default: last 200 lines, max 1000). Use -n to change, e.g. guava deploy logs -n 500.
guava deploy build-logsReturns a temporary URL to view full build output.
guava deploy lsLists all deployments in a table (NAME, STATUS, REPLICAS, PROJECT ID).
guava deploy changedTells you whether your code has changed since the last deploy.

Temporary file storage

To write files at runtime (for example, to cache data), use /tmp. Note that /tmp is ephemeral: contents are lost when the sandbox restarts.

Instance tiers

Choose an instance tier based on your workload:

TierCPUMemoryUse case
guava-seed1 core1GiDevelopment / testing
guava-fruit2 cores2GiStandard production
guava-tree4 cores4GiHigh-performance workloads

Quick reference

For a full list of commands and options, see the CLI Reference.

Questions? hi@goguava.ai