bootload
⚓ portal

📖 DOCS

Organizations & projects

bootload has two layers above your services. An organization is your team and billing boundary; a project is an isolated home for a set of services, with its own private network and its own wallet. Get the mental model right and the rest of the platform falls into place.

Organizations

An organization is the account everyone signs into and the unit billing and membership hang off:

bootload org create acme
bootload org list
bootload org use acme      # make it the default for every later command

In the portal, organization in the sidebar is the view of the whole thing: the org's slug and registry namespace, every project with its balance, spend this month and runway, and the member list. It is also where you see the fleet total, and which project runs dry first.

Most people only ever need one organization. Create a second when you want a completely separate team or billing entity.

Projects

A project is where your services actually live, and it's the isolation boundary. Each project gets, automatically, on creation:

bootload project create production --description "the live app"
bootload project list
bootload project use staging          # make it the default; `*` marks it in the list

Use separate projects to keep environments apart (e.g. production vs staging), or to give distinct apps their own network and budget.

The first project is free

The first project in an organization is free; each additional project adds €2/month to that project's own wallet. When you create a 2nd+ project the portal shows the fee before you confirm, and it appears on the ledger as project-fee. The optional description (set with --description or in the portal create form) helps you tell several projects apart at a glance.

Switching between them

The portal has a project switcher in the top bar; pick a project and the whole dashboard scopes to it. From the CLI, most commands act on your default project (set when you create or login), and you can target another with --org / --project on any command — for example bootload status --project staging — or change the default with bootload project use staging (and bootload org use <slug> for the organization).

How they fit together

organization (acme)  ── members + roles, one billing profile
└── project (production)  ── private /24 network + wallet
│   └── services, volumes, domains, secrets, public IPs
└── project (staging)     ── its own /24 network + wallet (separate budget)
    └── services …

Services never cross a project boundary — that's the isolation guarantee. To share data between two apps, put them in the same project (they'll resolve each other by name) rather than reaching across projects.