Skip to content

Workspace Management

What is a workspace?

A workspace is an isolated environment for Hubble and Kuiper with its own network policies; connecting to a workspace lets you launch workloads. See the Orion Workspaces overview for what makes up a workspace and how users work in it.

Renamed from Projects

Workspaces were previously called Projects. The existing project API endpoints are still fully functional, but are now deprecated in favor of new equivalent workspace endpoints. New integrations should target the workspace endpoints going forward; the project endpoints will be removed in a future release. Titan group assignment also currently accepts both "Workspace" and "Project" as this group type, existing "Project" groups continue to work unchanged, and this will be consolidated to "Workspace" only in a future release.

The workspace management page allows admins to create, configure, and activate workspaces. While also allowing users to connect to their assigned workspaces. See user group assignments on our User Management Page for more information. Users can also see which workspaces are active, the status of each workspace, which products are active on each workspace, the number of active workloads currently running on a workspace, and the description of the workspace.

workspace table

Workspace Creation

At the top left of the workspace table, there is a button labeled "CREATE WORKSPACE" clicking this button opens a workspace creation wizard.

Note

Admins are the only users that are able to create new workspaces. Learn more about user management here

workspace create button

The wizard walks you through four steps: Getting started, Configuration, Advanced settings, and Review.

create workspace form

Getting started

Give the workspace a name and decide who administers it.

Field Required Description
Name Yes A short code for the workspace, using lowercase letters only. For example, research.
Owner Yes The admin user who owns the workspace. The owner is granted full admin rights on the workspace. Only admin users can be selected.
Group ID Yes The GID for the workspace's initial group in Titan, used for user assignment. Must be greater than 999.
Icon No A URL path to the workspace icon. Defaults to the Orion icon if left blank.
Description No A short description of the workspace, up to 64 characters.

Configuration

Set the workspace's host, authentication, and deployment source.

  • Host URL. Workspaces can share the same host as Orion Admin, see Path Based Routing below.
  • HTTP scheme.
  • Authentication provider.
  • Deployment repository. The repository for the Orion deployment Helm charts.
  • Orion version. The deployment chart version to install.
  • Registry. Where the workspace pulls its images from.
  • Products. Which products to activate for the workspace.
  • Ingress Class (optional). Selects which installed ingressClass the workspace uses. Only ingress classes available on the cluster are selectable, so this is only worth changing if you have more than one ingress controller installed. The same field is available on the Orion Admin settings page.
  • Enable Workload Sharing (optional). Allows users in this workspace to share their workloads with one another.

edit workspace

Advanced settings

All advanced settings are optional.

  • Resource quotas. Caps how much of the cluster the workspace can consume. See Resource Quotas below.
  • Add-ons. Additional Helm charts to install alongside the main Orion deployment charts, for example the NVIDIA GPU Operator.
  • Version overrides. Override the version of individual workspace services. This is not recommended, as each Orion deployment pins these versions to ensure compatibility. Clear an override to return the service to the chart default. See our upgrade and rollback guide for details.

Review

Confirm your settings and click deploy to create the workspace.

Resource Quotas

Workspaces can be given a resource quota, capping how much of the cluster a single workspace is allowed to consume. When a quota is set, Genesis creates a Kubernetes ResourceQuota in that workspace's namespace, so the cap is enforced by Kubernetes itself against every pod and service in the workspace, including workloads launched by users through Orion Workspaces.

Setting quotas

Quotas can be added and updated from the workspace creation and configuration forms, or via the Genesis API. See Setting a quota via the API below.

The following can be capped per workspace:

Quota What it caps
CPU requests Total CPU requested across all pods in the workspace. This is what the scheduler reserves, so it governs how much of the cluster the workspace can hold.
CPU limits Total CPU all pods in the workspace are allowed to burst to.
Memory requests Total memory requested across all pods in the workspace.
Memory limits Total memory all pods in the workspace are allowed to burst to.
NodePorts Number of NodePort services the workspace can create.
LoadBalancers Number of LoadBalancer services the workspace can create, which is the useful one to cap in cloud deployments where each load balancer is a billable resource.

CPU and memory values use standard Kubernetes resource units, for example 4 or 4000m for CPU and 16Gi for memory. NodePort and LoadBalancer values are plain counts.

Quotas apply to the whole workspace

The quota is namespace wide, it is not a per-user or per-workload limit. Once a workspace reaches its quota, further workloads will fail to schedule until something in the workspace is shut down or hibernated. Size the quota with room for the workloads your users actually run, and see the workload template documentation for controlling what an individual workload requests.

Setting a quota via the API

Quota fields are passed on the same payload used to create or edit a workspace, and are returned when getting a workspace, so you can read back what a workspace is currently capped at.

The exact field names and value formats for your installation are documented in the Genesis OpenAPI schema. Open the Development page from the user menu, select Genesis, and look at the workspace create, edit, and get endpoints. See our API Getting Started documentation for generating an API key and making your first call.

Once a quota is set, you can confirm the resulting Kubernetes object with:

kubectl get resourcequota -n <workspace namespace>
kubectl describe resourcequota -n <workspace namespace>

describe also shows current usage against each cap, which is the quickest way to see how close a workspace is to its limit.

Path Based Routing

Genesis and Hubble both support path based routing. A workspace can be given the same host as Genesis itself, and is then reached on a path under that host rather than on a hostname of its own. This removes the need to create a custom DNS record, and issue a certificate, for every workspace you create.

For example, with Genesis served at orion.example.com, a workspace named vfx is reachable at orion.example.com/vfx instead of requiring a dedicated vfx.example.com record.

Custom hosts are still supported

Path based routing is an option, not a replacement. You can still give any workspace its own host, and existing workspaces configured with a custom host continue to work exactly as they did before. Set the host to your Genesis host to use path based routing, or to a hostname of its own to keep a dedicated host for the workspace.

When to use each

Approach When to use it
Shared host (path based) The default choice for most deployments. No per-workspace DNS record or certificate is needed, so new workspaces can be created without any external setup.
Custom host per workspace Use when a workspace needs to be isolated to its own hostname, for example to satisfy a security or client separation requirement, or to point a workspace at a different ingress or certificate.

The host is set in the Configuration step of the workspace creation wizard, and can be changed later by reconfiguring the workspace from the Manage action.

Changing the host of an existing workspace

Switching a workspace between a custom host and the shared Genesis host changes the URL users connect to. Any bookmarks or direct workload links pointing at the old host will need to be updated.

Workspace Actions

Non-admin vs admin privileges

Admins are the only users that are able to activate/hibernate, manage and configure the workspaces. Non-admins are only able to connect to their assigned workspace. Learn more about user management here

Activate/Hibernate

From the main workspace table, you will see your available actions for each workspace. Clicking Activate will begin scaling up the compute resources for the workspace. Once it's ready users can then connect to the workspace via the connect button. To hibernate a workspace and scale the compute resources back down, simply click the hibernate button. You will be prompted with a confirmation pop up before proceeding with the hibernation process. Please note all active workloads on a workspace must be shutdown prior to hibernating.

workspace activate

Manage

The manage button is only available to admins. Any admin can manage a workspace, not just its owner. The manage page shows the workspace's sync and health status, its details (email, owner, and deployment repository), and its services. From the buttons along the bottom, admins can delete the workspace, open the configuration form to reconfigure the workspace via CONFIGURE, and activate/hibernate.

workspace manage

Restart Workspace Services

The Services section lists the workspace's Kuiper and Hubble services. Click the restart icon on either row to restart that service. This restarts the service for that workspace only, without touching any other workspace, and saves you having to restart the deployment by hand with kubectl.

Restarting is per-workspace

These controls act on the Kuiper and Hubble deployments in that workspace's namespace. To restart cluster level services, use the restart controls on the Orion Admin settings page instead.

Connect

Once a workspace is active and ready, users that are assigned that workspace can click the connect button, to connect directly to that workspace deployment. Read more about Orion Workspaces.

workspace connect