Using a Workspace

What is a Workspace

A workspace is a personal folder which is linked to one or more environments and contains the NaCl files of the environments it is linked to.

Environments are shared, meaning that any user in the organization can see all of the environments in their organization. Workspaces are private, meaning that users can only see their own workspaces. That being said, workspaces can be linked with a Git repository for version management and team collaboration purposes.

NaCl files are read-only in environments, whereas they are editable in workspaces. Moreover, in a workspace users can do operations such as bulk find and replace or align NaCl files between two or more environments within that workspace. Once one or more NaCl files have been modified, users can hit deploy from the workspace in order to update the upstream application configuration.

A workspace has 2 tabs:

  • Editor - this is where you edit NaCls files and run operations as needed.
  • Settings - this is where you rename your workspace or delete it.

Creating a Workspace

📘

Before creating a workspace, please make sure that your Salto org contains at least one environment. Step-by-step instructions on how to create an environment can be found here

  • Click the plus sign right to the ‘My Workspaces’ view on the left vertical panel
  • Pick a name for your new workspace and click ‘Next’
  • Now you can choose a Git repository for your workspace. You can either:
    • Choose a repository and click ‘Next’.
      If you would like to connect your workspace to a git repo but still did not integrate your Salto and Git accounts, please follow the instructions here
    • Click on ‘Continue without Git. You can connect your workspace to an empty git repository later

👍

You have created a workspace but it would be empty without any environments linked to it.

  • Click on the ‘Link Environment' button on the top right and choose the environments you would like to link with your workspace
  • The ‘Link Environment’ button from the previous step will now turn into a dropdown menu listing all of the linked environments and an option to link / unlink environments. This menu allows you to select the workspace’s ‘current environment’. Any environment related operations in the workspace such as fetch or deploy will be executed against this ‘current environment’
  • In case the environment's creator did not share credentials for Workspace operations, you will have to enter your personal credentials for each application in the linked environment.
  • Run fetch for each of the linked environments

👍

You have linked and fetched environments in your workspace

Workspace Overview

16891689
  • Workspaces have a toolbar with the following capabilities:
    • Current Environment and Fetch / Deploy Operations:
      • Link / unlink workspace environment.
      • Set the workspace ‘current environment’ by pointing at it from the environments dropdown.
      • Run Fetch and Deploy Operations against the current environment.
    • Compare Environments - Allows you to compare and align two workspace environments.
    • Git Control:
      • Connect the workspace to an empty git repository.
      • Displays information about the repository and branch this workspace currently links to.
      • See commit history and number of unpushed files by clicking on the ‘show log’ button in the top right corner of the git control panel.
      • Switch branches and create new ones.
      • Run Git operations such as push, pull, merge, squash and rebase.
    • Activity Side Panel - Lists all historial operations executed in this workspace.
  • Top Left Panel
    • Filter the elements and files trees and search for a specific term within the the content of the NaCl files.
    • 3 dots menu:
      • Restore from state - revert any manual edits in your workspace files that haven’t been deployed yet.
      • Find and Replace - initiate a find and replace find and replace operation allowing you to search for a certain term within NaCl files and replace it with another.
      • Manage Elements - Allows you to clone elements from one environment to another.
      • Fix Unresolved References - Allows you to fix unresolved references in the current environment by copied them from another.
    • Elements Tree - Contains a tree of all elements of the current environment.
    • Files Tree - Contains all files from all environments and allows to navigate to a certain file for viewing / editing as well as create, delete and rename files and folders.
  • Top Center Content Panel
    • View the content of a certain file or element.
    • Edit the content of a file.
    • Navigate to the element page in the actual application UI.
    • Review incoming and outgoing references of a certain element.
  • Bottom Panel
    • List the errors and warnings in the workspace, for example:
      • Syntax errors.
      • Missing references.
      • Merge conflicts due to git pull, merge or rebase operations.