Quickstart — Tape in 10 minutes⌗
Tape is the durable substrate for ADK agents. This page gets you from zero to a recovering, observable agent on Google Cloud. It has three acts. Each act stands on its own — stop after Act 1 if local is all you need today.
New to Tape?
If words like "outbox", "reactor", or "effect" don't have a meaning yet, the Concepts section is the mental model. You can read it in fifteen minutes and the rest of the docs will click. This page works either way.
Prerequisites⌗
- Python 3.10+
- A POSIX shell
- (Act 2 & 3) a GCP project with billing enabled, and
gcloudset up
Act 1 — local⌗
pip install -e tape/sdk/python # tape-py: the SDK + ADK adapter
pip install -e tape/cli # tape: the standalone CLI
tape init treasury # scaffold a project (./treasury)
cd treasury
pip install -e .
tape dev # tape-server + reactors + agent (sqlite by default)
tape doctor # tick/cross diagnostic
In another shell, run your agent and watch it work. Then kill the
agent mid-tool-call. Run tape doctor — you'll see the run in
status=RUNNABLE. The recovery reactor (already running) re-drives it;
the confirmed effect is not re-executed. That's the contract.
See a guided kill-resume walkthrough
Act 2 — GCP infrastructure⌗
export GOOGLE_CLOUD_PROJECT=my-project
tape provision gcp --store alloydb --events pubsub --target cloud-run --dry-run
# Review the Terraform under ./deploy/gcp/terraform/.
# When happy:
tape provision gcp --apply
tape doctor --gcp
tape provision gcp is a thin wrapper over Terraform — the generated
deploy/gcp/terraform/ is yours. Commit it. Edit it.
What you'll see provisioned:
- Artifact Registry for the server + reactor images.
- IAM SAs (
tape-server,tape-reactor) with the right roles. See the IAM cheat sheet. - Secret Manager (
TAPE_STORE_URL). - AlloyDB cluster + database for the journal.
- Pub/Sub topic for WAL fan-out (+ an outbox topic if enabled).
- A Cloud Monitoring dashboard with the five log-based metrics.
Act 3 — GCP services⌗
tape deploy gcp --target cloud-run
# Renders Cloud Run service specs under deploy/gcp/release/. Apply with
# the printed `gcloud run services replace ...` commands.
tape status # see the runs / effects / lag
tape logs --follow # stream Cloud Logging
What you got:
- Tape server on Cloud Run, fronted by Google ID-token auth (
tapes://...). - One Cloud Run service per enabled reactor (recovery, reconciler, outbox, timers, compensation).
- Everything's wired into Cloud Logging + Cloud Trace.
Full Cloud Run topology GKE Autopilot path
Where to go next⌗
-
Learn the model
Read the concepts so the rest of the docs clicks into place.
-
Build a real tool
The 15-line
durable_app(...)recipe, with both effect patterns. -
Non-idempotent upstreams
Wires, payments, one-shot side effects. The outbox pattern.
-
Operate it
Stores, reactors, observability, tenancy — the operator's bag.
-
Look it up
Every API on one page. Then the per-language reference.
-
Get unstuck
FAQ, troubleshooting, glossary, links to discussions.