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
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)
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).
Field | Description |
---|---|
Enabled | If unset, the workspace sync is turned off. |
Remote URL | Contains 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 certificate | The CA certificate of the other workspace. Only needed when using self-signed HTTPS certificates. |
Verify SSL certificates | A flag to control if SSL certificates should be verified. |
Own private key | A RSA private key used to sign outgoing messages. |
Remote public key | The RSA public key of the linked workspace. |
Send all executions | If enabled all executions (including past executions) of the controlling workspace will be synced to the remote workspace. |
Sync interval | An interval in seconds in which executions are synced. If unset, executions are synced as soon as a change occurs. |
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')
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.