Multitenant
Accounts that own instances, for hosting other people (level 4): each instance has an owner; accounts have quotas and can be suspended; owners log in to their instances' dashboards (their login is kept in sync as a superuser); owners get API tokens for the CLI and deploys; and an API your own tenant dashboard talks to (PocketHost's dashboard is one).
Runs on: mothership (level 3) and pocker; requires the sandbox, since tenants run code you don't control.
Planned. Nothing is published here yet. See Create your own extension.
Install · Configure · Use · Integrations · Example
Install
Not available yet: Multitenant isn't in pocketone and has no Go module to add to a custom build.
Configure
Nothing to configure yet. Its settings will be documented here when it ships.
Use
Nothing to use yet. It is planned to give each instance an owner account, with quotas, suspension, dashboard sign-in for owners and API tokens for the CLI and deploys.
Integrations
It is planned to work with these extensions:
- Mothership: adds an
ownerto instances and an accounts table through the mothership's schema hooks, and adds owner-derived values (superusers, blocked status, extension settings) to what edges receive through its feed hooks. - Settings for other extensions: written into each instance's
extensions:block, e.g. an owner's trusted IPs for the firewall or a plan's retention for pitr. Those extensions don't know tenants exist. - Deploy: supplies the tenant-token backend for the deploy API.
- Billing: a billing provider hook; tenant-billing-ls is the Lemon Squeezy one.
Example
No example yet; it will come with the extension.
License
MIT
Questions and comments
Comments are a GitHub Discussions thread; sign in with GitHub to post.