The workspace command manages collaborative workspaces within organizations, enabling teams to work together on infrastructure designs and deployments.
Synopsis
mesheryctl workspace [subcommand] [flags]
Subcommands
create - Create a new workspace
list - List all workspaces in an organization
Global Flags
Display total count of workspaces
create
Create a new workspace within an organization.
Usage
mesheryctl workspace create [flags]
Flags
Organization ID to create workspace in
Examples
Create Workspace
Development Workspace
# Create a workspace
mesheryctl workspace create --orgID org-123 --name platform-team --description "Platform engineering workspace"
# Create workspace for specific project
mesheryctl workspace create --orgID org-123 --name project-alpha --description "Alpha project team"
Sample Output
Creating workspace...
Workspace created successfully
ID: ws-7e8b42f9-0e5c-4b7a-8f3d-9c2e1a6b5d4c
Name: platform-team
Organization: org-123
Description: Platform engineering workspace
list
List all workspaces in an organization.
Usage
mesheryctl workspace list [flags]
Flags
Organization ID to list workspaces from
Page number for pagination
Number of workspaces per page
Examples
List Workspaces
Pagination
# List all workspaces
mesheryctl workspace list --orgID org-123
# Get workspace count
mesheryctl workspace --count
Sample Output
NAME DESCRIPTION CREATED
platform-team Platform engineering workspace 2024-03-01 10:30:00
backend-dev Backend development team 2024-03-02 14:22:00
frontend-dev Frontend development team 2024-03-03 09:15:00
devops DevOps and infrastructure 2024-03-04 11:45:00
Total: 4 workspaces
Use Cases
Team Organization
# Create workspaces for different teams
mesheryctl workspace create --orgID org-123 --name platform-engineering --description "Platform team"
mesheryctl workspace create --orgID org-123 --name application-dev --description "App development"
mesheryctl workspace create --orgID org-123 --name sre-team --description "Site reliability"
# List all workspaces
mesheryctl workspace list --orgID org-123
Project-Based Workspaces
# Create workspace per project
mesheryctl workspace create --orgID org-123 --name project-alpha --description "Project Alpha"
mesheryctl workspace create --orgID org-123 --name project-beta --description "Project Beta"
mesheryctl workspace create --orgID org-123 --name shared-services --description "Shared infrastructure"
Environment-Specific Workspaces
# Create workspaces aligned with environments
mesheryctl workspace create --orgID org-123 --name dev-workspace --description "Development work"
mesheryctl workspace create --orgID org-123 --name staging-workspace --description "Staging deployments"
mesheryctl workspace create --orgID org-123 --name prod-workspace --description "Production management"
Workspace Properties
Each workspace includes:
ID - Unique identifier
Name - Workspace name
Description - Workspace purpose and details
Organization - Parent organization
Members - Team members with access
Designs - Infrastructure designs in workspace
Environments - Associated environments
Created/Updated - Timestamps
Workspace Features
Collaboration
Shared Designs - Team members collaborate on infrastructure designs
Access Control - Workspace-level permissions and roles
Activity Feed - Track changes and updates
Comments - Discuss designs and deployments
Resource Organization
Design Library - Organize and categorize designs
Environment Association - Link workspaces to environments
Connection Management - Shared cluster connections
Version Control - Track design iterations
Team Management
Member Invitations - Add team members to workspace
Role Assignment - Define member permissions
Activity Tracking - Monitor team activity
Notifications - Workspace event notifications
Best Practices
Naming Conventions
# Use clear, descriptive names
mesheryctl workspace create --orgID org-123 --name microservices-platform
mesheryctl workspace create --orgID org-123 --name data-infrastructure
# Include team or project identifier
mesheryctl workspace create --orgID org-123 --name team-payments
mesheryctl workspace create --orgID org-123 --name project-migration
Workspace Structure
One workspace per team or project
Align workspaces with organizational structure
Use workspaces to isolate different concerns
Create shared workspaces for common resources
Access Management
Define clear ownership per workspace
Assign appropriate roles to members
Regularly review workspace membership
Use workspaces to enforce least privilege
Workflow
Create Organization - Set up parent organization
Create Workspaces - Define team workspaces
Add Members - Invite team members (via UI)
Create Designs - Build infrastructure designs
Collaborate - Work together on designs
Deploy - Deploy designs to environments
Integration with Other Commands
With Environments
# Create workspace
mesheryctl workspace create --orgID org-123 --name dev-team
# Create environment
mesheryctl environment create --orgID org-123 --name development
# Associate workspace with environment (via UI or API)
With Designs
# Create workspace
mesheryctl workspace create --orgID org-123 --name platform-team
# Create design in workspace context (via UI)
# Design is automatically associated with workspace
With Connections
# Create workspace for team
mesheryctl workspace create --orgID org-123 --name backend-team
# Add connections that workspace can use
mesheryctl connection create --type kubernetes
Workspace Permissions
Workspaces support role-based access:
Owner - Full workspace control
Admin - Manage workspace and members
Editor - Create and modify designs
Viewer - Read-only access
Permissions are managed through the Meshery UI after workspace creation.
Troubleshooting
Workspace Creation Fails
# Verify organization ID
mesheryctl org list
# Check authentication
mesheryctl system login
# Verify permissions
# Ensure you can create workspaces in the organization
Cannot List Workspaces
# Verify organization ID
mesheryctl workspace list --orgID org-123
# Check if organization exists
mesheryctl org list
Workspace Not Visible
# List all workspaces in organization
mesheryctl workspace list --orgID org-123
# Verify you have access to the workspace
# Check membership via Meshery UI
Count Shows Zero
# Create first workspace
mesheryctl workspace create --orgID org-123 --name initial-workspace
# Verify creation
mesheryctl workspace list --orgID org-123
See Also