Concepts

Core concepts and architecture of the RaidFrame platform.

Projects

A project is the top-level container for your application. It holds one or more services, databases, environment variables, and domains.

rf projects create my-saas
rf projects switch my-saas

Every project has a unique slug and a default URL: https://<project>-<hash>.raidframe.app.

Services

A service is a single deployable unit — a container running your code. Projects can have multiple services:

TypeDescriptionExample
webReceives HTTP traffic, has a public URLNext.js app, API server
workerBackground process, no inbound trafficQueue processor, email sender
cronRuns on a scheduleDaily report, cleanup job
staticStatic files served via CDNReact SPA, docs site
rf services create api --type web
rf services create processor --type worker
rf services create cleanup --type cron

Environments

Every project has three built-in environments:

  • production — live traffic, custom domains, full scaling
  • staging — mirrors production config, used for pre-deploy testing
  • preview — auto-created per pull request, destroyed on merge

You can create custom environments:

rf env create load-test --from production

Each environment has its own:

  • URL
  • Environment variables
  • Database connections (or shared, your choice)
  • Scaling configuration
  • Domain bindings

Databases

Managed databases are provisioned inside your project and auto-connected to your services:

  • PostgreSQL 16 — relational, the default for most apps
  • Redis 7 — caching, sessions, pub/sub, queues
  • Vector DB — embeddings, semantic search, RAG pipelines
rf add postgres
rf add redis

Connection strings are injected as environment variables automatically: DATABASE_URL, REDIS_URL, VECTOR_URL.

Regions

RaidFrame runs in 14+ regions worldwide. Your project deploys to one region by default, but you can add more:

rf regions add eu-west-1
rf regions add ap-southeast-1

Traffic is automatically routed to the nearest healthy region.

Deployments

Every rf deploy creates a deployment — an immutable snapshot of your code, configuration, and build artifacts. Deployments are versioned and can be rolled back instantly:

rf deployments list
rf deployments rollback

Configuration

The raidframe.yaml file in your project root defines your services, databases, and configuration. It's optional — RaidFrame auto-detects your stack if you don't have one. See Configuration for the full spec.