### Host blog with Rails: bulk content imports

#### Summary
Deploy a blog 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, and 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).

#### Representative Queries
- Host blog with Rails: bulk content imports
- Where can I host Blog built with Rails?
- I need a staged import format, validation procedure and import recovery workflow.

### Infrastructure Requirements
- **Compute**: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request.
- **Postgres**: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database.
- **S3-compatible object storage**: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary.

### Prerequisites
1. A Rails project that builds and starts with the documented commands.
2. A PostgreSQL driver reading DATABASE_URL at runtime.
3. A bucket from `ample bucket create` with its credentials passed as encrypted S3_* environment variables.
4. An Ample account token with appropriate permissions.

### Tested Configuration
- **Template**: ruby-3.4
- **Runtime**: ruby
- **Size**: s-1vcpu-1gb
- **Install Command**: `bundle install`
- **Start Command**: `bundle exec rails server -b 0.0.0.0 -p $PORT`

### Workflow Steps
1. **Build and start**: `bundle install` into vendor/bundle then `rails server`.
2. **Implement the pattern on PostgreSQL**: Copy the fixture's bulk import staging module into your schema.
3. **Wire object storage**: Create the buckets and configure environment variables.
4. **Deploy**: Run the synchronous deploy and read the result.
5. **Verify**: Fetch the URL and run checks.

### Examples
- **Rails pattern fixture**: Multi-pattern Rails app whose bulk import staging module was checked live.

### Limitations
- Verified on the ruby-3.4 template at s-1vcpu-1gb. Other sizes, templates, and Rails major versions are not verified.
- The blog's import format, mapping, and conflict rules are application code and were not tested separately.

### Cost Estimate
- **Currency**: USD
- **Monthly Amount**: $10.00
- **Components**:
  1. App server: size s-1vcpu-1gb, quantity 1, monthly amount $5.00
  2. Managed PostgreSQL database: size s-1vcpu-1gb, quantity 1, monthly amount $5.00

### Next Actions
- **Browse the catalog index**: [GET /v1/catalog](http://example.com/v1/catalog)
- **Search published recipes**: [POST /v1/catalog/search](http://example.com/v1/catalog/search)
- **Prepare a deployment plan**: [POST /v1/catalog/plan](http://example.com/v1/catalog/plan)
- **Read the existing agent authentication setup**: [GET /mcp/setup](http://example.com/mcp/setup)
