Managing workspaces

Workspaces enable you to share access to key Continuous Delivery for PE resources, such as control repos, modules, and jobs, with the other members of your team. Once you set up a workspace, add your team members to that workspace and give them the user permissions needed to do their work.

Best practices when creating workspaces

This section offers suggestions and best practices for creating workspaces. This guidance is intended to help you and your organization understand Continuous Delivery for PE workspaces and use them effectively.

Workspaces support teams writing Puppet code and deploying that code to nodes managed by PE. Whether your organization tasks one team with writing and deploying all Puppet code, or has organized multiple teams to write and test Puppet code while a central deployment team pushes those changes to production, workspaces can help you ensure that each team member has exactly the Continuous Delivery for PE resources they need.

If your organization uses... Workspace recommendation
One team to write, test, and deploy all Puppet code

A single source control repository to store all Puppet code

  • Use one workspace for the whole team
  • Set permissions carefully to ensure that each team member has access to the resources they need
Multiple teams to write and test Puppet code

Multiple source control repositories to store Puppet code

A deployment team responsible for getting Puppet code changes into production

  • Set up separate workspaces for each writing and testing team, ideally one workspace for each control repository
  • Create a separate workspace for the deployment team, and allow these team members access to all other workspaces

  • Set permissions carefully to ensure that each team member has access to the resources they need

Set up a new workspace for a team

Perform these steps to set up a single workspace for a small, centralized team, or to create one of several team workspaces for a larger, less centralized organization.

Before you begin
Make sure all members of the team have created individual Continuous Delivery for PE accounts.
Note: When new users reach the Choose a workspace screen in the new account creation process, ask them to log out of Continuous Delivery for PE until the team workspace is fully set up.
  1. Create a new workspace by navigating to Manage workspaces at top of the navigation bar in the Continuous Delivery for PE web UI and clicking + Add new workspace. Give the workspace a descriptive name (if necessary, you can change this later in the Settings menu).
    When you create a workspace, you are automatically set as the owner of the workspace. Other Continuous Delivery for PE super users can also access your workspace by navigating to the root console and clicking the name of your workspace in the Workspaces tab.
  2. Switch to the newly created workspace by clicking its name in the list of My workspaces, or by selecting it from the workspaces menu in the Continuous Delivery for PE web UI.
  3. Follow the new workspace prompts at the top of the screen to set up the required resources for the workspace:
    1. If necessary, integrate Puppet Enterprise
    2. Integrate with your source control system
    3. Set up job hardware for this workspace or use global shared job hardware
  4. Add the control repo where your team keeps its Puppet code to Continuous Delivery for PE. Click Control repos, then click Add control repo.
  5. Add the members of your team as users of the workspace. Click Settings, then Users, and add each team member.
  6. Click Groups and create one or more new groups, assigning appropriate permissions and users to each group. Make sure that every team member is assigned to at least one group.
    If a user is added to a workspace but not assigned to any groups, they will see a 403 error when they sign into Continuous Delivery for PE.
  7. Invite the members of the team to sign into Continuous Delivery for PE. They'll now see your newly created team workspace in the workspaces area of the Continuous Delivery for PE. web UI.
Results
Team members are now able to view and interact with the resources you've added to the workspace according to the permissions you've assigned.

You can delete unneeded workspaces by navigating to Settings > Workspace and clicking Delete workspace. Only the workspace owner or a super user can perform this action.

Transfer ownership of a workspace

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

You must have root or super user permissions to access the root console and perform this action.

  1. Log into the root console by selecting Root console from the workspaces menu at the top of the Continuous Delivery for PE navigation bar or signing in as the root user.
  2. Click Workspaces.
  3. Locate the workspace you wish to reassign and click Reassign workspace .
  4. Select the username of the new owner of the workspace, then click Save changes.
Results
Ownership of the workspace is now transferred. The original owner of the workspace is automatically removed from the workspace. If necessary, the new owner can add the former owner as a workspace user by navigating to Settings > Users.