Creating workspaces
A workspace allows you to group a set of resources from Kubernetes based on namespaces, Helm releases, or labels. With integrated RBAC, monitoring, workload management, and pipeline integrations, workspaces provide self-service capabilities to any team.
Adding a new workspace
Once a cluster is connected, you can add a new workspace. In your organization, navigate to Workspaces and add a new workspace. There’s two steps you need to complete:
- If you have a cluster with existing workloads, you can import these into a workspace. Select the namespaces, Helm releases, or labels, that you want to include in your workspace. They act as filters, so changes to resources inside these filters will be applied to your workspace automatically. You can also skip this step and start with a blank workspace. You can use the built-in tools to create namespaces, deploy Kubernetes manifests, or containers from a registry.
- Add users, or select them from your organization. You can define their permissions based on pre-defined groups (Read more about RBAC).
That’s it, your workspace dashboard will be ready immediately. The members you invited will receive an email to join the workspace. You can now start monitoring resources on the cluster, troubleshoot issues, or use built-in pipeline tools to create new deployments.
Configuring workspaces and users as CRDs
Since workspaces are stored as Custom Resource Definitions (CRD) on your cluster, you can also define them via YAML manifests. This allows you to automate provisioning workspaces und users from pipelines, or during onboarding workflows of team members.
The following CRDs are used for this workflow with APIVersion mogenius.com/v1alpha1
:
- Workspace
- User
- Grant
Workspace
Workspace
is defined like this.
User
Workspace users are managed on the cluster with the CRD User
.
Grant
With a Grant
you assign users to workspaces and define their permission within the workspace.