Skip to main content
Version: 8 - Apfelstrudel

Workspace Linking

Engine enables the user to synchronize executions on different workspaces.

Use Cases

Running executions remotely in another workspace. For example:

  • in a company Intranet
  • on your local machine
  • in some other cloud or VPS

This is especially useful for environments with no public IP address or environments that are unreachable from the public network.

Configuration

note

Only users with the role organization admin can configure workspace linkings.

To configure the workspace linking create a Synch Config in the local (controlling) and remote (controlled) workspace each. Enable both sync configs.

The Remote URL has to be set in the sync config of the controlling workspace. For example if the URL of the remote workspace is my-workspace.cloudomation.com and its sync config is called sync-config-to-local-workspace, the Remote URL will be: https://my-workspace.cloudomation.com/api/latest/sync_config/sync-config-to-local-workspace/sync

Generate two pairs of RSA keys and configure the sync configs like this:

Config A:

  • Own private key - RSA Key 1 (private)
  • Remote public key - RSA Key 2 (public)

Config B:

  • Own private key - RSA Key 2 (private)
  • Remote public key - RSA Key 1 (public)
note

For more information on how to generate RSA keys please refer to this page.

It is possible to allow for bidirectional control (both workspaces can run flow scripts in the other) or to restrict the control in one way. For bidirectional control you need to setup two pairs of sync configs (so you would have 2 sync configs in each workspace – one acts as the controlling the other as the controlled workspace).

FieldDescription
EnabledIf unset, the workspace sync is turned off.
Remote URLContains the URL of the other workspace like: https://<other-workpace-name>.cloudomation.com/api/latest/sync_config/<sync-config-of-other-workspace>/sync. Leave this field empty in the configuration of the workspace that is controlled.
CA certificateThe CA certificate of the other workspace. Only needed when using self-signed HTTPS certificates.
Verify SSL certificatesA flag to control if SSL certificates should be verified.
Own private keyA RSA private key used to sign outgoing messages.
Remote public keyThe RSA public key of the linked workspace.
Send all executionsIf enabled all executions (including past executions) of the controlling workspace will be synced to the remote workspace.
Sync intervalAn interval in seconds in which executions are synced. If unset, executions are synced as soon as a change occurs.
note

The Own private key and the Remote public key are not shown after saving.

Usage

After the link is set up, you can test it with a simple flow script:

import flow_api

def handler(system: flow_api.System, this: flow_api.Execution, inputs: dict):
this.flow(
'<your_flow>',
remote_workspace_name='<remote-workspace-sync-config-name>',
)
return this.success('all done')
note

The local workspace sends the script of <your_flow> to the remote workspace and start the execution. In the remote workspace you can open the execution and see the script, however you cannot access the flow itself.