Skip to main content

Sandboxes

🔒Paid feature

This is a paid feature and requires involvement of Rossum Sales and/or Rossum Professional Services. Consider contacting the respective teams using the following form: https://rossum.ai/form/contact/

Rossum Sandboxes allow for isolated development of the solution and easy deployments of the tested solution to production.

Using Sandboxes currently requires installation of an external tooling available at: https://github.com/rossumai/deployment-manager

Installation

First, download the installation script for our Sandboxing tool deployment-manager from its Rossum GitHub repository:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/rossumai/deployment-manager/main/install.sh)"

The script will automatically run and install the Sandboxing tool in the ~/.local/bin folder making it available globally under the command prd2.

To upgrade to the latest version, run:

prd2 update

You can find more information here: https://github.com/rossumai/deployment-manager

Using Microsoft Windows?

Sandboxes are currently not supported on Windows. You can, however, use WSL to run the prd2 command: https://learn.microsoft.com/en-us/windows/wsl/install

Alternatively, you can install the tool manually (advanced):

cd $(mktemp -d)
git clone [email protected]:rossumai/deployment-manager.git
cd deployment-manager

python3 -m venv .
source bin/activate
python3 -m pip install pipx

python3 -m pipx install . --force

Available CLI commands

Work in progress

We're still working on this part and would love to hear your thoughts! Feel free to share your feedback or submit a pull request. Thank you! 🙏

Complete list of commands and their parameters can be found when running prd2 --help.

Available configuration options

The only necessary configuration is in the example-org/credentials.yaml and in the prd_config.yaml files right after running prd2 init. The init command will guide you through the process so you don't have to worry about the configuration later (in fact, it is not advised to update this config manually; instead re-run the init command).

Here is how the credentials file looks like:

example-org/credentials.yaml
token: b1946ac92492d2347c6235b4d2611184

And here is how the prd_config.yaml file looks like (example):

prd_config.yaml
directories:
production-org:
org_id: '123123'
api_base: https://api.elis.rossum.ai/v1
subdirectories:
default:
regex: ''

Configuring mapping.yaml file (DEPRECATED)

DEPRECATED (for v1 only)

Note, this section describes how to configure the mapping.yaml file which is only used in the deprecated v1 version of prd. The latest version of prd2 does not use this file.

Learn how to upgrade to the latest version here: Migration guide from v1 to v2.

Note that this file is automatically generated by the prd pull command. It is typically not necessary to configure it manually unless some more advanced use-case is needed.

# The main key describing `source` organization details:
ORGANIZATION:
# ID of the `source` organization:
id: 123456
# Name of the `source` organization:
name: MyOrganization (Sandbox)
targets:
# ID of the `target` organization (if any):
- target_id: 654321
WORKSPACES:
# IDs of the `source` workspaces:
- id: 123456
# Name of the `source` workspace:
name: 'My Test Workspace'
targets:
# ID(s) of the `target` workspace(s) (there can be none or more than one):
- target_id: null
QUEUES:
# IDs of the `source` queues belonging to the `source` workspace above:
- id: 123456
# Name of the `source` queue:
name: Invoices
targets:
# ID(s) of the `target` queue(s) (there can be none or more than one):
- target_id: null
# (optional) You could override attribute on the target using `attribute_override`
## - for example you can have `name:` on `target` different from the `source`
attribute_override:
name: Invoices (PROD)
INBOX:
# IDs of the `source` inbox belonging to the `source` queue above:
id: 123456
# Name of the `source` inbox:
name: Invoices
targets:
# ID(s) of the `target` inbox(s) (there can be none or more than one):
- target_id: null
HOOKS:
# IDs of the `source` hooks:
- id: 123456
# Name of the `source` hook:
name: Supplier Data Matching
targets:
# ID(s) of the `target` hook(s) (there can be none or more than one):
- target_id: null
SCHEMAS:
# IDs of the `source` schemas:
- id: 123456
# Name of the `source` schema:
name: Tax invoices (US) schema
targets:
# ID(s) of the `target` schema(s) (there can be none or more than one):
- target_id: null