This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Storage

    JuiceFS Shared Storage

    Piglet Run uses JuiceFS to provide a distributed filesystem backed by PostgreSQL.

    Why JuiceFS?

    • POSIX Compatible: Works like a normal filesystem
    • Database-Backed: Data stored in PostgreSQL
    • Snapshots: Point-in-time recovery support
    • Multi-User: Share workspace across sessions

    How It Works

    ┌────────────────────────────────────────────┐
    │              Application Layer             │
    │   (VS Code, Jupyter, Claude Code, etc.)    │
    └──────────────────┬─────────────────────────┘
                       │ POSIX API
                       ▼
    ┌────────────────────────────────────────────┐
    │               JuiceFS FUSE                 │
    │         (Filesystem in Userspace)          │
    └──────────────────┬─────────────────────────┘
                       │
            ┌──────────┴──────────┐
            │                     │
            ▼                     ▼
    ┌───────────────┐    ┌───────────────┐
    │   Metadata    │    │  Data Chunks  │
    │  (PostgreSQL) │    │  (PostgreSQL) │
    └───────────────┘    └───────────────┘
    

    Features

    FeatureDescription
    TransparentUse like local filesystem
    DurableData stored in database
    ConcurrentMultiple users/agents access
    SnapshotsPoint-in-time recovery

    Next Steps