Skip to content

Fly Sprite deploy target + per-user control plane #211

Description

@kovtcharov

Run the Claudia service image on a Fly Sprite as the paid tier, with a control plane that provisions one Sprite per user.

Why Sprites

Persistent KVM VMs with a 100 GB durable root filesystem, 1–2s creation, checkpoint/restore as a primitive, and auto-sleep that preserves all state while idle billing drops to cold-storage rates. That is the required behavior almost exactly: the machine sleeps when Claude finishes and wakes with worktrees, ~/.claude, and node_modules intact.

Because a Sprite is a persistent computer rather than a resetting container, it is the same deployment target as a home server. No cloud-mode branch in the code.

Architecture

One Sprite per user. Claudia stays single-tenant; the control plane is what's multi-tenant. This keeps free and paid tiers running the same image with no isolation logic inside the backend.

Scope

Blocked on

The credential question in #186 — whether a user's Claude subscription may be used on infrastructure we operate. Build the deploy path regardless; it is equally required for API-key mode.

Acceptance

  • The same image that runs on a home server runs on a Sprite unmodified
  • A sleeping Sprite wakes on client connect with task state intact
  • Idle cost per user measured and documented
  • No unauthenticated route reachable from the public internet

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions