page:recipes:project tracker:rails:csv imports

Host project tracker with Rails: CSV imports

Summary

Deploy a project tracker built with Rails on Ample using the bulk import staging pattern. Compute runs the app in an isolated microVM behind a public HTTPS URL, a managed PostgreSQL 16 database is auto-provisioned and injected as DATABASE_URL, a private S3-compatible bucket holds objects with credentials delivered as encrypted environment variables. Verified on Rails: a CSV staged as an object, row-level validation with per-row errors recorded, and a restart-safe import keyed by import id (imported=2 rejected=1 restart=ok). Not separately tested: your import format, mapping and conflict rules; treat the project tracker-specific behavior as your application code.

Representative Queries

Resource Requirements

Infrastructure Requirements

  1. Compute
    status: verified
    Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.

  2. Postgres
    status: verified
    Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database and no DATABASE_URL is supplied.

  3. S3-compatible object storage
    status: verified
    Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary. Other S3 operations are not verified.

Prerequisites

Workflow Steps

Build and start

Implement the pattern on PostgreSQL

Wire object storage

Deploy

Verify

Success Checks

  1. app responds on its public URL
    kind: http_get
    path: /
    expect: ample canary rails patterns

  2. bulk-import-staging self-test
    kind: http_get
    path: /p/bulk-import-staging
    expect: imported=2 rejected=1 restart=ok

Limitations