Workspaces
A workspace is the unit of isolation in Loha. Every repository, pipeline run, secret, build minute, and member belongs to exactly one workspace. Each workspace has its own quota envelope, its own secret scope, and its own billing plan.
If you've used GitHub or GitLab, the closest analogue is an "organization": a shared container for the people who work together, and for the projects they split their repositories into.
What's inside a workspace
- Projects: team scopes inside the workspace. Every repository belongs to exactly one project; a workspace always has at least a
defaultproject. - Repositories: git repos connected from GitLab, GitHub, Gitea, or Bitbucket.
- Pipelines & builds: defined in
.loha.ymlper repo and run inside the workspace's isolated environment. - Secrets: scoped to the workspace, or further scoped to a single repository inside it.
- Members: users with one of four roles (
owner,admin,member,guest). - Settings: display name, slug, plan, billing details, default trigger settings.
- Audit log: every privileged action (member changes, secret access, super-admin operations) is recorded here.
Platform-level controls and shared infrastructure sit outside any workspace and are managed by Loha. See multi-tenancy & isolation for what isolation guarantees you get.
When to create multiple workspaces
Default to one workspace per business entity. Reasons to split into more:
- Hard separation between environments. Production and pre-production secrets must never share an isolation boundary.
- Distinct billing or compliance scopes. Different cost centres, customers operating under your account, or data-residency requirements that demand separate audit trails.
- Different sets of people. When two teams' repos and members don't overlap, two workspaces is simpler than juggling repository-level permissions.
Don't split workspaces just to organise repos: repositories already nest inside a workspace, and dashboards, secret stores, and quotas all get harder to navigate as the workspace count grows.
How workspaces are created
A workspace is created when you sign up, and you become its owner. Additional workspaces can be created from the dashboard's workspace picker; the creator is always the owner of the new workspace.
The workspace slug appears in URLs (/workspaces/<slug>/...) and in audit-log entries. It cannot be changed after creation. Pick something short, lowercase, and stable.
Switching workspaces
The dashboard remembers your active workspace in your session. Switching is a single click in the workspace picker; the URL, sidebar, and data view all change. If you're a member of only one workspace, the picker is hidden.
Related reading
- Projects: the team scope inside a workspace.
- Members & roles: what each role can do.
- Invitations: adding someone to a workspace.
- Settings & lifecycle: renaming, deleting, and the deletion grace window.
- Multi-tenancy & isolation: the architectural model behind workspaces.