Managing workspaces

Use workspaces to share access to key Continuous Delivery for Puppet Enterprise (PE) resources, such as control repos, modules, and jobs, with the other members of your team. After setting up a workspace, add your team members to that workspace and give them the permissions needed to do their work.

Best practices when creating workspaces

These suggestions and best practices are intended to help you and your organization understand Continuous Delivery for Puppet Enterprise (PE) workspaces and use them effectively.

Workspaces support teams who write and deploy Puppet code to nodes managed by PE. Whether your organization has one team writing and deploying all Puppet code, or multiple teams writing and testing Puppet code with a central deployment team pushing changes to production, workspaces help ensure each team member has the Continuous Delivery for PE resources they need.

Single team/repository recommendations

If your organization has one team writing, testing, and deploying all Puppet code or stores Puppet code in one source control repository, we recommend:
  • Using one workspace for the whole team.
  • Applying permissions carefully so each team member only has access to what they need.

Multiple teams/repositories recommendations

If your organization has multiple teams writing and testing Puppet code, multiple source control repositories for Puppet code, and/or a deployment team responsible for pushing Puppet code changes to production, we recommend:
  • Having separate workspaces for each writing and testing team; ideally, one workspace for each control repository.
  • Creating a separate workspace for the deployment team, and allow these team members to access all other workspaces.
  • Applying permissions carefully so each team member only has access to what they need.

Set up a workspace

These steps explain how to create and add users to a workspace. If you need multiple workspaces, repeat this process as many times as you need.

Before you begin
Make sure all team members have created their individual Continuous Delivery for Puppet Enterprise (PE) accounts.
Note: Tell your team members to log out when they reach the Choose a workspace screen after creating their account.
  1. Log in to the Continuous Delivery for PE web UI, and select Manage workspaces from the workspaces drop down menu at top of the navigation bar.
  2. Click Add new workspace and give the workspace a descriptive name (If necessary, you can change the name later on the Settings page).
    After creating a workspace, you are automatically set as the workspace owner. Other Continuous Delivery for PE super users can access your workspace by navigating to the root console and clicking the name of your workspace in the Workspaces tab.
  3. Switch to your new workspace by clicking its name in the My workspaces list or by selecting it from the workspaces drop down menu.
  4. Follow the new workspace prompts at the top of the page to set up the workspace's required resources:
    1. If necessary, Integrate with Puppet Enterprise.
    2. Integrate with source control.
    3. Configure job hardware specifically for this workspace or use global shared job hardware (If you haven't already done so, Configure global shared job hardware).
  5. Click Control repos > Add control repo, and add the control repo where the team stores Puppet code.
  6. Click Settings > Users, and add each team member as a user of this workspace.
    Note: If a team member is missing, they have not created their Continuous Delivery for PE account yet.
  7. Click Groups and create one or more groups. Assigning appropriate permissions and users to each group. Make sure every team member is assigned to at least one group.
    If you add a user to a workspace without adding them to a group, they get a 403 error when signing in to Continuous Delivery for PE.
  8. Invite the team members to sign in to Continuous Delivery for PE. They'll now see the new team workspace in the workspaces drop down menu on the Continuous Delivery for PE web UI.
Results
According to their group permissions, team members can view and interact with the resources you added to the workspace.

To delete workspaces, navigate to Settings > Workspace > Delete workspace. Only super users or the workspace owner can do this.

Transfer workspace ownership

When a workspace owner changes teams, leaves your organization, or is otherwise no longer the right person to manage a workspace, you can reassign workspace ownership to a different Continuous Delivery for PE user.

To transfer workspace ownership, you must have root or super user permissions allowing you to access the root console and perform this action.
  1. Log into the root console by signing in as the root user or by selecting Root console from the workspaces drop down menu on the Continuous Delivery for PE navigation bar.
  2. Click Workspaces, locate the workspace you need to reassign, and click Reassign workspace .
  3. Select the new owner's username and click Save changes.
Results
After transferring ownership, the original workspace owner is automatically removed from the workspace. The new owner can add the former owner as a workspace user by navigating to Settings > Users.