Skip to main content
Version: 11 - TBD

Workspace Configuration Options

Email integration

KeyTypeDescriptionDefault value
SMTP_AUTHENTICATION_MODEstringWhich SMTP authentication mechanism to use. One of "NONE", "LOGIN", or "XOAUTH2". The XOAUTH2 authentication mechanism is supported by Gmail and Office365.LOGIN
SMTP_CHARSETstringThe charset being used to encode email messages.utf-8
SMTP_FROMstringThe email address used in the "from" field of outgoing messages.Cloudomation info@cloudomation.com
SMTP_HOSTstringThe host to use to send emails.``
SMTP_OAUTH2_CLIENT_IDstringAn OAuth2 client ID to authenticate against the SMTP host. Used with the "XOAUTH2" SMTP_AUTHENTICATION_MODE.``
SMTP_OAUTH2_CLIENT_SECRETstringAn Oauth2 client secret to authenticate against the SMTP host. Used with the "XOAUTH2" SMTP_AUTHENTICATION_MODE.``
SMTP_PASSWORDstringThe password to authenticate against the SMTP host. Used with the "LOGIN" SMTP_AUTHENTICATION_MODE.``
SMTP_PORTintegerThe port to connect to at SMTP_HOST.25
SMTP_USERstringThe username to authenticate against the SMTP host. Used with the "LOGIN" and the "XOAUTH2" SMTP_AUTHENTICATION_MODE.``
SMTP_USE_STARTTLSbooleanIf to use the STARTTLS command to upgrade an unencrypted SMTP connection.False
SMTP_USE_TLSbooleanIf to use transport-layer-security (TLS) to connect to the SMTP host.False

Git integration

KeyTypeDescriptionDefault value
GIT_AUTOCOMMIT_ENABLEDbooleanIf to automatically commit changes to the repository upon saving in the UI. Note that this does not apply to saving via the API.True
GIT_EXTERNAL_SERVER_NAMEstringThe domain name or ip on which the git server is reachable.localhost
GIT_EXTERNAL_SSH_PORTintegerThe external port used for ssh to push to the repositories.2022
GIT_REPOSITORY_EXTERNAL_SAVE_PATHstringThe directory where git repositories will be stored in (on the host)./git
GIT_REPOSITORY_SAVE_PATHstringThe directory where git repositories will be stored in./data/repositories
GIT_USER_AUTHORIZED_KEYS_FILEstringThe path where the authorized_keys file of the git user is mounted./data/repositories/.ssh/authorized_keys
GIT_USER_NAMEstringThe git user.git

Logging

KeyTypeDescriptionDefault value
LOGGING_CURRENT_LEVELSarrayA comma-separated list of logger names, followed by a colon and a log-level.
Possible log-levels are:
* ERROR
* WARNING
* INFO
* DEBUG
* NOTSET: inherit the log level from the parent logger

possible logger names include: (defaults are NOTSET unless specified otherwise)
* <empty string>: the root logger. other loggers will inherit the flag from the root logger unless configured otherwise
* sqlalchemy: all sqlalchemy logging. default level: WARN
* sqlalchemy.engine: database queries
* sqlalchemy.pool: database pool operations
* aiohttprest: API
* common: common methods
* connector_types: Cloudomation connectors
* connector_types.<connector_type>: a specific connector
* resources: Cloudomation resources
* resources.<resource name>: a specific resource
* sarest: database layer
* workspace: workspace processes
* workspace.engine: the execution engine
[{'logger': '', 'level': 'WARNING'}, {'logger': 'cloudomation', 'level': 'INFO'}]
LOGGING_EXPIRY_BATCH_SIZEintegerHow many log entries to remove at once.100
LOGGING_EXPIRY_ENABLEDbooleanPermanently remove log entries after a timeout.True
LOGGING_EXPIRY_INTERVAL_MINUTESintegerThe number of minutes to wait between checks for expired log entries.5
LOGGING_EXPIRY_TIME_MINUTESintegerThe number of minutes before log entries are permanently removed.20160
LOGGING_FORMATstringOne of "text" or "json". Setting LOGGING_FORMAT to "json" will produce machine-readable log lines.text
LOGGING_LEVELS_RESET_MINUTESintegerThe number of minutes after which the manually set configuration value for LOGGING_CURRENT_LEVELS is removed. Logging will reset to the value configured in the environment (if set) or to the default value. Set to `0` to disable.10

Notifications

KeyTypeDescriptionDefault value
NOTIFY_DISK_USAGE_CHECK_ENABLEDbooleanNotify about disk usage exceeding configured limits.True
NOTIFY_DISK_USAGE_CHECK_INTERVAL_MINUTESintegerThe number of minutes to wait between checks of disk usage.60
NOTIFY_DISK_USAGE_FREE_GIB_ERROR_LIMITintegerIf free disk space GiB is below this amount an error notification is generated.1
NOTIFY_DISK_USAGE_FREE_GIB_WARNING_LIMITintegerIf free disk space GiB is below this amount a warning notification is generated.5
NOTIFY_DISK_USAGE_PERCENT_ERROR_LIMITintegerIf disk usage exceeds this percentage an error notification is generated.90
NOTIFY_DISK_USAGE_PERCENT_WARNING_LIMITintegerIf disk usage exceeds this percentage a warning notification is generated.75
NOTIFY_LICENSE_CHECK_ENABLEDbooleanNotify about license usage exceeding configured limits.True
NOTIFY_LICENSE_CHECK_INTERVAL_MINUTESintegerThe number of minutes to wait between checks of license usage.1440
NOTIFY_LICENSE_CONNECTION_USAGE_PERCENT_ERROR_LIMITintegerIf connection usage exceeds this percentage an error notification is generated.100
NOTIFY_LICENSE_CONNECTION_USAGE_PERCENT_WARNING_LIMITintegerIf connection usage exceeds this percentage a warning notification is generated.90
NOTIFY_LICENSE_STORAGE_USAGE_PERCENT_ERROR_LIMITintegerIf storage usage exceeds this percentage an error notification is generated.100
NOTIFY_LICENSE_STORAGE_USAGE_PERCENT_WARNING_LIMITintegerIf storage usage exceeds this percentage a warning notification is generated.90

Resumer

KeyTypeDescriptionDefault value
RESUMER_CHECK_FOR_DEPRECATIONS_ENABLEDbooleanCheck for deprecations in flow scripts, wrappers, connectors and schedulers.True
RESUMER_CLEAN_ORPHANED_ACTIVITIES_ENABLEDbooleanDelete partial activities.True
RESUMER_CLEAN_ORPHANED_IDENTITIES_ENABLEDbooleanDelete partial identities.True
RESUMER_CLEAN_ORPHANED_RECORDS_ENABLEDbooleanDelete partial records.True
RESUMER_CLEAN_ORPHANED_RESOURCES_ENABLEDbooleanDelete partial resources.True
RESUMER_CLEAN_TRASHED_EXECUTION_DUMPS_ENABLEDbooleanDelete execution dumps of executions in trash.True
RESUMER_NOTIFY_LOST_EXECUTION_ENABLEDbooleanResume active executions after workspace restart. WARNING: disabling this will impact functionality of the workspace.True
RESUMER_NOTIFY_LOST_LOCK_ENABLEDbooleanResume executions waiting for a lock. WARNING: disabling this will impact functionality of the workspace.True
RESUMER_NOTIFY_LOST_SCHEDULE_ENABLEDbooleanEnsure enabled schedules have a schedule execution. WARNING: disabling this will impact functionality of the workspace.True
RESUMER_NOTIFY_LOST_SYNC_CONFIG_ENABLEDbooleanResume executions waiting for a remote workspace. WARNING: disabling this will impact functionality of the workspace.True
RESUMER_POLL_DELAY_SECONDSintegerThe number of seconds between activity checks.30
RESUMER_POLL_SLOW_DELAY_SECONDSintegerThe number of seconds between database cleanup routine runs.1800
RESUMER_RESUME_SCHEDULED_ENABLEDbooleanResume executions waiting for a timeout. WARNING: disabling this will impact functionality of the workspace.True

Security

KeyTypeDescriptionDefault value
CAPTCHA_ALLOWED_HOST_NAMESstringA comma-separated list of host names which are accepted as captcha sources.localhost
LOGIN_METHOD_CLOUDOMATION_ENABLEDbooleanIf set, users can log in to the Workspace using a Cloudomation user stored in the workspace&#x27;s database.True
LOGIN_TOKEN_VALIDITY_HOURSintegerThe maximum number of hours a user stays signed in before having to re-authenticate.720

Trash

KeyTypeDescriptionDefault value
TRASH_ACTIVITY_EXPIRY_BATCH_SIZEintegerHow many expired activities to move to the trash at once.100
TRASH_ACTIVITY_EXPIRY_ENABLEDbooleanMove ended executions to the trash after a timeout.True
TRASH_ACTIVITY_EXPIRY_INTERVAL_MINUTESintegerThe number of minutes to wait between checks for ended executions.5
TRASH_ACTIVITY_EXPIRY_TIME_MINUTESintegerThe number of minutes before an ended execution will be moved to the trash.20160
TRASH_RETENTION_TIME_ACTIVITIES_ENABLEDbooleanPermanently delete activities from the trash after a timeout.True
TRASH_RETENTION_TIME_ACTIVITIES_MINUTESintegerThe number of minutes before activities are permanently deleted from the trash.20160
TRASH_RETENTION_TIME_BATCH_SIZEintegerHow many records to permanently delete from the trash at once.100
TRASH_RETENTION_TIME_INTERVAL_MINUTESintegerThe number of minutes to wait between checks for permanently deleting records from the trash.100
TRASH_RETENTION_TIME_RESOURCES_ENABLEDbooleanPermanently delete resources from the trash after a timeout.True
TRASH_RETENTION_TIME_RESOURCES_MINUTESintegerThe number of minutes before resources are permanently deleted from the trash.20160

User Interface

KeyTypeDescriptionDefault value
FILE_SIZE_BYTES_ALWAYS_LOAD_LIMITintegerThe maximum size of a file to always load into the in-browser editor.1048576
FILE_SIZE_BYTES_OPTIONAL_LOAD_LIMITintegerThe maximum size of a file to optionally load into the in-browser editor.10485760
ICON_MAX_SIZE_PXintegerThe maximum size of an icon in pixels. Larger icons will be scaled down.256
INPUT_VALUE_SIZE_BYTES_ALWAYS_LOAD_LIMITintegerThe maximum size of an input value to always load into the in-browser editor.1048576
INPUT_VALUE_SIZE_BYTES_OPTIONAL_LOAD_LIMITintegerThe maximum size of an input value to optionally load into the in-browser editor.10485760
MAX_OPEN_EXECUTIONS_PER_LOCATIONintegerThe maximum number of executions a user can have opened in each project or bundle. When this number is exceeded, the oldest opened execution will be closed.7
MAX_OPEN_RESOURCES_PER_LOCATIONintegerThe maximum number of resources a user can have opened in each project, bundle, or on the workspace level. When this number is exceeded, the oldest opened resource will be closed.7
MAX_OPEN_USER_INTERFACE_COUNTintegerThe maximum number of user interfaces that can be opened in each workspace at a time. When 80 percent or more are reached, and when 100 percent or more are reached, warnings will be displayed.10
MESSAGE_LIST_SUBMITTED_LIMITintegerHow many submitted messages to display in the messages popover10
MESSAGE_LIST_UNSUBMITTED_LIMITintegerHow many unsubmitted messages to display in the messages popover10
ON_SAVE_MIGRATE_DEPRECATIONS_ENABLEDbooleanAutomatically migrate deprecations upon saving in the UI. Note that this does not apply to saving via the API.True
OUTPUT_VALUE_SIZE_BYTES_ALWAYS_LOAD_LIMITintegerThe maximum size of an output value to always load into the in-browser editor.1048576
OUTPUT_VALUE_SIZE_BYTES_OPTIONAL_LOAD_LIMITintegerThe maximum size of an output value to optionally load into the in-browser editor.10485760
VISUALIZATION_MAX_NODESintegerThe maximum number of nodes shown in the dependency visualization graph.200
VISUALIZATION_REFRESH_INTERVAL_SECONDSintegerThe number of seconds between refreshes of the dependency visualization graph.5
WORKSPACE_HIGHLIGHT_COLORstringTo quickly visually identify Cloudomation workspaces you can choose the background color of the top bar.#FFFFFF

Internals

KeyTypeDescriptionDefault value
DB_KEEPALIVE_INTERVAL_SECONDSintegerThe number of seconds to wait between checking database connectivity.20
DB_KEEPALIVE_TIMEOUT_SECONDSintegerThe number of seconds after which a workspace process is considered "dead".60
ENGINE_CHECK_ENABLEDbooleanEnable a periodic check to confirm that the workspace can process executions successfully. The result of the last engine check can be retrieved by making a GET request to `/api/latest/alive`.True
ENGINE_CHECK_INTERNAL_MINUTESintegerThe interval in minutes to check if the engine is ok. This creates a hidden dummy execution with priority 1000 and checks if it is processed successfully.10
ENGINE_CHECK_LEEWAY_MINUTESintegerThe number of minutes to add to the engine check interval to account for high workspace load.1
EXECUTIONS_MAX_PARALLELintegerThe maximum number of executions one process is handling simultaneous.5
EXECUTION_DEFAULT_PRIORITYintegerThe default priority of executions. Higher priority executions will be processed first.42
EXECUTION_PROCESSOR_ENABLEDbooleanWhen disabled the workspace will not process executions.True
FILE_STORAGE_PATHstringThe path to the directory where files are stored./data/files
GRAPHQL_QUERY_COMPLEXITY_LIMITintegerThe maximum "cost" of a single graphql query. TODO: document how cost is calculated...2000
IMPORT_REFERENCE_WAIT_TIMEOUT_SECONDSintegerHow many seconds to wait for a referenced record to be created during import.30
MEMORY_TRACING_FRAMESintegerMemory tracing frame count.
Zero (0) disables tracing.
0
MEMORY_TRACING_INTERVAL_SECONDSintegerHow many seconds to wait before taking another snapshot.3600
MEMORY_TRACING_SAVE_DIRECTORYstringThe directory to save tracing dumps to./tmp
PROFILING_ENABLEDbooleanEnable profiling of the workspace. While enabled, the workspace will collect profiling data. After running your test disable profiling. The collected data will then be saved to `$TMP/workspace[A-Z].prof` and can be analyzed using tools like snakeviz.False
RECURSE_MAX_SIZEintegerThe maximum number of records in an array or object to recurse into. If the number is exceeded, the value will be returned as is. This affects datatype coercion, default value application, and secrets expansion. A high value can lead to performance issues.100
SAVEPOINT_RETENTIONstringSavepoint retention behaviour.
Possible values are:
* ALL: keep all savepoints of executions
* LAST: keep the last implicit and all explicit savepoints of executions.

Note: It is possible to override this configuration in an execution using the `savepoint_retention` argument.
LAST
SAVEPOINT_RETENTION_TIME_BATCH_SIZEintegerHow many old savepoints to delete at once.100
SAVEPOINT_RETENTION_TIME_ENABLEDbooleanAutomatically delete old savepoints of executions.True
SAVEPOINT_RETENTION_TIME_INTERVAL_MINUTESintegerThe number of minutes to wait between checks for old savepoints.60
SAVEPOINT_RETENTION_TIME_MINUTESintegerThe number of minutes before old savepoints of executions are deleted.20160
SCHEDULE_MIN_INTERVAL_FAILED_SECONDSintegerIf a schedule fails to execute wait this many seconds before creating a new one.60
SCHEDULE_MIN_INTERVAL_SUCCEEDED_SECONDSintegerIf a schedule succeeds wait this many seconds before creating a new one.60