Workspace Configuration Options
Email integration
Key | Type | Description | Default value |
---|---|---|---|
SMTP_AUTHENTICATION_MODE | string | Which SMTP authentication mechanism to use. One of "NONE", "LOGIN", or "XOAUTH2". The XOAUTH2 authentication mechanism is supported by Gmail and Office365. | LOGIN |
SMTP_CHARSET | string | The charset being used to encode email messages. | utf-8 |
SMTP_FROM | string | The email address used in the "from" field of outgoing messages. | Cloudomation info@cloudomation.com |
SMTP_HOST | string | The host to use to send emails. | `` |
SMTP_OAUTH2_CLIENT_ID | string | An OAuth2 client ID to authenticate against the SMTP host. Used with the "XOAUTH2" SMTP_AUTHENTICATION_MODE. | `` |
SMTP_OAUTH2_CLIENT_SECRET | string | An Oauth2 client secret to authenticate against the SMTP host. Used with the "XOAUTH2" SMTP_AUTHENTICATION_MODE. | `` |
SMTP_PASSWORD | string | The password to authenticate against the SMTP host. Used with the "LOGIN" SMTP_AUTHENTICATION_MODE. | `` |
SMTP_PORT | integer | The port to connect to at SMTP_HOST. | 25 |
SMTP_USER | string | The username to authenticate against the SMTP host. Used with the "LOGIN" and the "XOAUTH2" SMTP_AUTHENTICATION_MODE. | `` |
SMTP_USE_STARTTLS | boolean | If to use the STARTTLS command to upgrade an unencrypted SMTP connection. | False |
SMTP_USE_TLS | boolean | If to use transport-layer-security (TLS) to connect to the SMTP host. | False |
Git integration
Key | Type | Description | Default value |
---|---|---|---|
GIT_AUTOCOMMIT_ENABLED | boolean | If 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_NAME | string | The domain name or ip on which the git server is reachable. | localhost |
GIT_EXTERNAL_SSH_PORT | integer | The external port used for ssh to push to the repositories. | 2022 |
GIT_REPOSITORY_EXTERNAL_SAVE_PATH | string | The directory where git repositories will be stored in (on the host). | /git |
GIT_REPOSITORY_SAVE_PATH | string | The directory where git repositories will be stored in. | /data/repositories |
GIT_USER_AUTHORIZED_KEYS_FILE | string | The path where the authorized_keys file of the git user is mounted. | /data/repositories/.ssh/authorized_keys |
GIT_USER_NAME | string | The git user. | git |
Logging
Key | Type | Description | Default value |
---|---|---|---|
LOGGING_CURRENT_LEVELS | array | A 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_SIZE | integer | How many log entries to remove at once. | 100 |
LOGGING_EXPIRY_ENABLED | boolean | Permanently remove log entries after a timeout. | True |
LOGGING_EXPIRY_INTERVAL_MINUTES | integer | The number of minutes to wait between checks for expired log entries. | 5 |
LOGGING_EXPIRY_TIME_MINUTES | integer | The number of minutes before log entries are permanently removed. | 20160 |
LOGGING_FORMAT | string | One of "text" or "json". Setting LOGGING_FORMAT to "json" will produce machine-readable log lines. | text |
LOGGING_LEVELS_RESET_MINUTES | integer | The 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
Key | Type | Description | Default value |
---|---|---|---|
NOTIFY_DISK_USAGE_CHECK_ENABLED | boolean | Notify about disk usage exceeding configured limits. | True |
NOTIFY_DISK_USAGE_CHECK_INTERVAL_MINUTES | integer | The number of minutes to wait between checks of disk usage. | 60 |
NOTIFY_DISK_USAGE_FREE_GIB_ERROR_LIMIT | integer | If free disk space GiB is below this amount an error notification is generated. | 1 |
NOTIFY_DISK_USAGE_FREE_GIB_WARNING_LIMIT | integer | If free disk space GiB is below this amount a warning notification is generated. | 5 |
NOTIFY_DISK_USAGE_PERCENT_ERROR_LIMIT | integer | If disk usage exceeds this percentage an error notification is generated. | 90 |
NOTIFY_DISK_USAGE_PERCENT_WARNING_LIMIT | integer | If disk usage exceeds this percentage a warning notification is generated. | 75 |
NOTIFY_LICENSE_CHECK_ENABLED | boolean | Notify about license usage exceeding configured limits. | True |
NOTIFY_LICENSE_CHECK_INTERVAL_MINUTES | integer | The number of minutes to wait between checks of license usage. | 1440 |
NOTIFY_LICENSE_CONNECTION_USAGE_PERCENT_ERROR_LIMIT | integer | If connection usage exceeds this percentage an error notification is generated. | 100 |
NOTIFY_LICENSE_CONNECTION_USAGE_PERCENT_WARNING_LIMIT | integer | If connection usage exceeds this percentage a warning notification is generated. | 90 |
NOTIFY_LICENSE_STORAGE_USAGE_PERCENT_ERROR_LIMIT | integer | If storage usage exceeds this percentage an error notification is generated. | 100 |
NOTIFY_LICENSE_STORAGE_USAGE_PERCENT_WARNING_LIMIT | integer | If storage usage exceeds this percentage a warning notification is generated. | 90 |
Resumer
Key | Type | Description | Default value |
---|---|---|---|
RESUMER_CHECK_FOR_DEPRECATIONS_ENABLED | boolean | Check for deprecations in flow scripts, wrappers, connectors and schedulers. | True |
RESUMER_CLEAN_ORPHANED_ACTIVITIES_ENABLED | boolean | Delete partial activities. | True |
RESUMER_CLEAN_ORPHANED_IDENTITIES_ENABLED | boolean | Delete partial identities. | True |
RESUMER_CLEAN_ORPHANED_RECORDS_ENABLED | boolean | Delete partial records. | True |
RESUMER_CLEAN_ORPHANED_RESOURCES_ENABLED | boolean | Delete partial resources. | True |
RESUMER_CLEAN_TRASHED_EXECUTION_DUMPS_ENABLED | boolean | Delete execution dumps of executions in trash. | True |
RESUMER_NOTIFY_LOST_EXECUTION_ENABLED | boolean | Resume active executions after workspace restart. WARNING: disabling this will impact functionality of the workspace. | True |
RESUMER_NOTIFY_LOST_LOCK_ENABLED | boolean | Resume executions waiting for a lock. WARNING: disabling this will impact functionality of the workspace. | True |
RESUMER_NOTIFY_LOST_SCHEDULE_ENABLED | boolean | Ensure enabled schedules have a schedule execution. WARNING: disabling this will impact functionality of the workspace. | True |
RESUMER_NOTIFY_LOST_SYNC_CONFIG_ENABLED | boolean | Resume executions waiting for a remote workspace. WARNING: disabling this will impact functionality of the workspace. | True |
RESUMER_POLL_DELAY_SECONDS | integer | The number of seconds between activity checks. | 30 |
RESUMER_POLL_SLOW_DELAY_SECONDS | integer | The number of seconds between database cleanup routine runs. | 1800 |
RESUMER_RESUME_SCHEDULED_ENABLED | boolean | Resume executions waiting for a timeout. WARNING: disabling this will impact functionality of the workspace. | True |
Security
Key | Type | Description | Default value |
---|---|---|---|
CAPTCHA_ALLOWED_HOST_NAMES | string | A comma-separated list of host names which are accepted as captcha sources. | localhost |
LOGIN_METHOD_CLOUDOMATION_ENABLED | boolean | If set, users can log in to the Workspace using a Cloudomation user stored in the workspace's database. | True |
LOGIN_TOKEN_VALIDITY_HOURS | integer | The maximum number of hours a user stays signed in before having to re-authenticate. | 720 |
Trash
Key | Type | Description | Default value |
---|---|---|---|
TRASH_ACTIVITY_EXPIRY_BATCH_SIZE | integer | How many expired activities to move to the trash at once. | 100 |
TRASH_ACTIVITY_EXPIRY_ENABLED | boolean | Move ended executions to the trash after a timeout. | True |
TRASH_ACTIVITY_EXPIRY_INTERVAL_MINUTES | integer | The number of minutes to wait between checks for ended executions. | 5 |
TRASH_ACTIVITY_EXPIRY_TIME_MINUTES | integer | The number of minutes before an ended execution will be moved to the trash. | 20160 |
TRASH_RETENTION_TIME_ACTIVITIES_ENABLED | boolean | Permanently delete activities from the trash after a timeout. | True |
TRASH_RETENTION_TIME_ACTIVITIES_MINUTES | integer | The number of minutes before activities are permanently deleted from the trash. | 20160 |
TRASH_RETENTION_TIME_BATCH_SIZE | integer | How many records to permanently delete from the trash at once. | 100 |
TRASH_RETENTION_TIME_INTERVAL_MINUTES | integer | The number of minutes to wait between checks for permanently deleting records from the trash. | 100 |
TRASH_RETENTION_TIME_RESOURCES_ENABLED | boolean | Permanently delete resources from the trash after a timeout. | True |
TRASH_RETENTION_TIME_RESOURCES_MINUTES | integer | The number of minutes before resources are permanently deleted from the trash. | 20160 |
User Interface
Key | Type | Description | Default value |
---|---|---|---|
FILE_SIZE_BYTES_ALWAYS_LOAD_LIMIT | integer | The maximum size of a file to always load into the in-browser editor. | 1048576 |
FILE_SIZE_BYTES_OPTIONAL_LOAD_LIMIT | integer | The maximum size of a file to optionally load into the in-browser editor. | 10485760 |
ICON_MAX_SIZE_PX | integer | The maximum size of an icon in pixels. Larger icons will be scaled down. | 256 |
INPUT_VALUE_SIZE_BYTES_ALWAYS_LOAD_LIMIT | integer | The maximum size of an input value to always load into the in-browser editor. | 1048576 |
INPUT_VALUE_SIZE_BYTES_OPTIONAL_LOAD_LIMIT | integer | The maximum size of an input value to optionally load into the in-browser editor. | 10485760 |
MAX_OPEN_EXECUTIONS_PER_LOCATION | integer | The 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_LOCATION | integer | The 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_COUNT | integer | The 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_LIMIT | integer | How many submitted messages to display in the messages popover | 10 |
MESSAGE_LIST_UNSUBMITTED_LIMIT | integer | How many unsubmitted messages to display in the messages popover | 10 |
ON_SAVE_MIGRATE_DEPRECATIONS_ENABLED | boolean | Automatically 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_LIMIT | integer | The maximum size of an output value to always load into the in-browser editor. | 1048576 |
OUTPUT_VALUE_SIZE_BYTES_OPTIONAL_LOAD_LIMIT | integer | The maximum size of an output value to optionally load into the in-browser editor. | 10485760 |
VISUALIZATION_MAX_NODES | integer | The maximum number of nodes shown in the dependency visualization graph. | 200 |
VISUALIZATION_REFRESH_INTERVAL_SECONDS | integer | The number of seconds between refreshes of the dependency visualization graph. | 5 |
WORKSPACE_HIGHLIGHT_COLOR | string | To quickly visually identify Cloudomation workspaces you can choose the background color of the top bar. | #FFFFFF |
Internals
Key | Type | Description | Default value |
---|---|---|---|
DB_KEEPALIVE_INTERVAL_SECONDS | integer | The number of seconds to wait between checking database connectivity. | 20 |
DB_KEEPALIVE_TIMEOUT_SECONDS | integer | The number of seconds after which a workspace process is considered "dead". | 60 |
ENGINE_CHECK_ENABLED | boolean | Enable 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_MINUTES | integer | The 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_MINUTES | integer | The number of minutes to add to the engine check interval to account for high workspace load. | 1 |
EXECUTIONS_MAX_PARALLEL | integer | The maximum number of executions one process is handling simultaneous. | 5 |
EXECUTION_DEFAULT_PRIORITY | integer | The default priority of executions. Higher priority executions will be processed first. | 42 |
EXECUTION_PROCESSOR_ENABLED | boolean | When disabled the workspace will not process executions. | True |
FILE_STORAGE_PATH | string | The path to the directory where files are stored. | /data/files |
GRAPHQL_QUERY_COMPLEXITY_LIMIT | integer | The maximum "cost" of a single graphql query. TODO: document how cost is calculated... | 2000 |
IMPORT_REFERENCE_WAIT_TIMEOUT_SECONDS | integer | How many seconds to wait for a referenced record to be created during import. | 30 |
MEMORY_TRACING_FRAMES | integer | Memory tracing frame count. Zero (0) disables tracing. | 0 |
MEMORY_TRACING_INTERVAL_SECONDS | integer | How many seconds to wait before taking another snapshot. | 3600 |
MEMORY_TRACING_SAVE_DIRECTORY | string | The directory to save tracing dumps to. | /tmp |
PROFILING_ENABLED | boolean | Enable 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_SIZE | integer | The 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_RETENTION | string | Savepoint 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_SIZE | integer | How many old savepoints to delete at once. | 100 |
SAVEPOINT_RETENTION_TIME_ENABLED | boolean | Automatically delete old savepoints of executions. | True |
SAVEPOINT_RETENTION_TIME_INTERVAL_MINUTES | integer | The number of minutes to wait between checks for old savepoints. | 60 |
SAVEPOINT_RETENTION_TIME_MINUTES | integer | The number of minutes before old savepoints of executions are deleted. | 20160 |
SCHEDULE_MIN_INTERVAL_FAILED_SECONDS | integer | If a schedule fails to execute wait this many seconds before creating a new one. | 60 |
SCHEDULE_MIN_INTERVAL_SUCCEEDED_SECONDS | integer | If a schedule succeeds wait this many seconds before creating a new one. | 60 |