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:
- It has members with roles (owner, admin, developer, billing, viewer).
- It carries one billing profile (company details, VAT) for invoices.
- It can hold many projects.
bootload org create acme
bootload org list
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:
- its own private /24 network — services in a project reach each other by name (service discovery), and projects can't see into each other;
- its own wallet — usage is metered and paid per project, so costs never blur across them;
- its own services, volumes, domains, secrets, and public IPs.
bootload project create production --description "the live app"
bootload project 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.
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.