Skip to main content

Workspace Linking

Cloudomation 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

To configure the workspace linking create a Synch Config in the local and remote workspace each. 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 (see the description in the field Remote URL).

note

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

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/<this-workpace-name>/sync. If you want to restrict the control in one way 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 unset, executions that are started in the other workspace via the workspace synch, will not show up in the executions list of the controlling 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. For more information on where to find your workspaces' RSA keys please refer to environment variables

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):
this.flow(
'<your_flow>',
remote_workspace_name='<remote-workspace-name>',
)
return this.success('all done')
note

In the above example the resource <your_flow> has to exist in the remote workspace. This is generally true for all resources (flow scripts, settings, files etc.) that you want to remotely access.