When to Create New Workspaces
Create separate workspaces when you need complete semantic separation between different business contexts. Key scenarios are:- Organizational Separation: when different departments need completely separate semantic models without any possibility of cross-department model or data access. For example, HR analytics workspace vs. Product analytics workspace.
- Business Unit Separation: when you have distinct business units within your organization, that should never share semantics or data connections.
- Regulatory or Compliance Requirements: when legal or compliance requirements mandate complete separation of data and semantics.
- Trial or Evaluation Environments: when you want to create a completely isolated temporary environment for testing or evaluation purposes of a new concept or technology.
Git Repository Structure
Each workspace resides in a separate folder in the Git Repository. For more details on the Git repository structure, see Git Version Control.Workspace Level Access Control
Honeydew supports workspace-level access control, allowing you to restrict user access to specific workspaces within your organization. With workspace-level access control, you can manage access at a fine-grained level across teams, projects, or data domains.Overview
Workspace-level access control allows you to:- Restrict users to specific workspaces only
- Use separate Snowflake configuration and credentials per workspace
- Implement semantics and data segregation between different business units
- Control access to sensitive or confidential data domains
- Maintain compliance with data governance policies
Setup Instructions
To enable workspace-level access control for your organization, please contact Honeydew support at support@honeydew.ai.
- Admin Access: You must have Admin role permissions in Honeydew
- Workspace Planning: Identify which workspaces should be accessible to which users
- Access Requirements: Define the specific access patterns for your organization
- Contact Support: Reach out to support@honeydew.ai to enable workspace-level access control
- Snowflake Configuration: Ensure each workspace has the appropriate Snowflake configuration and credentials
- Define Access Rules: Configure the mapping of users to their allowed workspaces. Do the same also for API keys.
Managing Workspaces
Creating a New Workspace
- Navigate to your organization settings
- Select “Create New Workspace”
- Configure workspace-specific settings:
- Data source connection
- Environment configuration
- Assign access to the workspace to specific users (see workspace-level access control for details)
Branches and Environments per Workspace
A workspace may have multiple branches. For example, you can have separateprod (production) and a dev (development) branch.
Each branch within a workspace is a Git branch.
Branches may be associated with environments.
For example, the prod and dev branches may be mapped to different Snowflake databases or warehouses.
Moving Semantics Between Workspaces
If you need to move entities or logic between workspaces, this can be done manually by modifying the Git repository structure:- Checkout the relevant Git repository
- Move the relevant files and folders between workspace directories
- Commit and push the changes
- In Honeydew Studio, click the “Reload all Workspaces for all users” option to refresh the workspaces
If you have a complex migration use case, please feel free to reach out to support@honeydew.ai for assistance
YAML Schema
Each workspace is defined by a YAML file in Git, which also tracks and preserves the full history of every change. The schema for workspace is:name: Name of workspace - must match the folder name in Git repositoryenvironments: List of environments for the workspace (see environments for details)