Skip to main content
Version: 12 - TBD

Workspace Configuration Options

AI

KeyTypeDescriptionDefault value
LLM_ENDPOINT_OLLAMA_MODELobjectThe model to use for the Ollama LLM endpoint.llama3.2:3b
LLM_ENDPOINT_OLLAMA_URLobjectThe URL of the Ollama LLM endpoint.http://host.docker.internal:11434
LLM_ENDPOINT_OPENAI_AZURE_API_KEYobjectThe API key to use for the OpenAI LLM endpoint.``
LLM_ENDPOINT_OPENAI_AZURE_API_VERSIONobjectThe API version to use for the OpenAI LLM endpoint.``
LLM_ENDPOINT_OPENAI_AZURE_ENDPOINTobjectThe Azure endpoint to use for the OpenAI LLM endpoint.``
LLM_ENDPOINT_OPENAI_AZURE_MODELobjectThe model to use for the OpenAI LLM endpoint.gpt-4o
LLM_ENDPOINT_TYPEobjectThe LLM endpoint type to use for AI functionality.openai_azure

Email integration

KeyTypeDescriptionDefault value
SMTP_AUTHENTICATION_MODEobjectWhich SMTP authentication mechanism to use. One of "NONE", "LOGIN", or "XOAUTH2". The XOAUTH2 authentication mechanism is supported by Gmail and Office365.LOGIN
SMTP_CHARSETobjectThe charset being used to encode email messages.utf-8
SMTP_FROMobjectThe email address used in the "from" field of outgoing messages.Cloudomation info@cloudomation.com
SMTP_HOSTobjectThe host to use to send emails.``
SMTP_OAUTH2_CLIENT_IDobjectAn OAuth2 client ID to authenticate against the SMTP host. Used with the "XOAUTH2" SMTP_AUTHENTICATION_MODE.``
SMTP_OAUTH2_CLIENT_SECRETobjectAn Oauth2 client secret to authenticate against the SMTP host. Used with the "XOAUTH2" SMTP_AUTHENTICATION_MODE.``
SMTP_PASSWORDobjectThe password to authenticate against the SMTP host. Used with the "LOGIN" SMTP_AUTHENTICATION_MODE.``
SMTP_PORTobjectThe port to connect to at SMTP_HOST.25
SMTP_USERobjectThe username to authenticate against the SMTP host. Used with the "LOGIN" and the "XOAUTH2" SMTP_AUTHENTICATION_MODE.``
SMTP_USE_STARTTLSobjectIf to use the STARTTLS command to upgrade an unencrypted SMTP connection.False
SMTP_USE_TLSobjectIf to use transport-layer-security (TLS) to connect to the SMTP host.False

Git integration

KeyTypeDescriptionDefault value
GIT_AUTOCOMMIT_ENABLEDobjectIf 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_DEFAULT_TRACKobjectWhether to automatically track resources saved via the UI in git-enabled projects or bundles. Note that this does not apply to saving via the API.True
GIT_EXTERNAL_SERVER_NAMEobjectThe domain name or ip on which the git server is reachable.localhost
GIT_EXTERNAL_SSH_PORTobjectThe external port used for ssh to push to the repositories.2022
GIT_REPOSITORY_EXTERNAL_SAVE_PATHobjectThe directory where git repositories will be stored in (on the host)./git
GIT_REPOSITORY_SAVE_PATHobjectThe directory where git repositories will be stored in./data/repositories
GIT_USER_AUTHORIZED_KEYS_FILEobjectThe path where the authorized_keys file of the git user is mounted./data/repositories/.ssh/authorized_keys
GIT_USER_NAMEobjectThe git user.git

Logging

KeyTypeDescriptionDefault value
LOGGING_CURRENT_LEVELSobjectA 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_SIZEobjectHow many log entries to remove at once.100
LOGGING_EXPIRY_ENABLEDobjectPermanently remove log entries after a timeout.True
LOGGING_EXPIRY_INTERVAL_MINUTESobjectThe number of minutes to wait between checks for expired log entries.5
LOGGING_EXPIRY_TIME_MINUTESobjectThe number of minutes before log entries are permanently removed.20160
LOGGING_FORMATobjectOne of "text" or "json". Setting LOGGING_FORMAT to "json" will produce machine-readable log lines.text
LOGGING_LEVELS_RESET_MINUTESobjectThe 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_ENABLEDobjectNotify about disk usage exceeding configured limits.True
NOTIFY_DISK_USAGE_CHECK_INTERVAL_MINUTESobjectThe number of minutes to wait between checks of disk usage.60
NOTIFY_DISK_USAGE_FREE_GIB_ERROR_LIMITobjectIf free disk space GiB is below this amount an error notification is generated.1
NOTIFY_DISK_USAGE_FREE_GIB_WARNING_LIMITobjectIf free disk space GiB is below this amount a warning notification is generated.5
NOTIFY_DISK_USAGE_PERCENT_ERROR_LIMITobjectIf disk usage exceeds this percentage an error notification is generated.90
NOTIFY_DISK_USAGE_PERCENT_WARNING_LIMITobjectIf disk usage exceeds this percentage a warning notification is generated.75
NOTIFY_LICENSE_CHECK_ENABLEDobjectNotify about license usage exceeding configured limits.True
NOTIFY_LICENSE_CHECK_INTERVAL_MINUTESobjectThe number of minutes to wait between checks of license usage.1440
NOTIFY_LICENSE_CONNECTION_USAGE_PERCENT_ERROR_LIMITobjectIf connection usage exceeds this percentage an error notification is generated.100
NOTIFY_LICENSE_CONNECTION_USAGE_PERCENT_WARNING_LIMITobjectIf connection usage exceeds this percentage a warning notification is generated.90
NOTIFY_LICENSE_STORAGE_USAGE_PERCENT_ERROR_LIMITobjectIf storage usage exceeds this percentage an error notification is generated.100
NOTIFY_LICENSE_STORAGE_USAGE_PERCENT_WARNING_LIMITobjectIf storage usage exceeds this percentage a warning notification is generated.90

Resumer

KeyTypeDescriptionDefault value
RESUMER_CHECK_FOR_DEPRECATIONS_ENABLEDobjectCheck for deprecations in flow scripts, wrappers, connectors and schedulers.True
RESUMER_CLEAN_ORPHANED_ACTIVITIES_ENABLEDobjectDelete partial activities.True
RESUMER_CLEAN_ORPHANED_IDENTITIES_ENABLEDobjectDelete partial identities.True
RESUMER_CLEAN_ORPHANED_RECORDS_ENABLEDobjectDelete partial records.True
RESUMER_CLEAN_ORPHANED_RESOURCES_ENABLEDobjectDelete partial resources.True
RESUMER_CLEAN_TRASHED_EXECUTION_DUMPS_ENABLEDobjectDelete execution dumps of executions in trash.True
RESUMER_NOTIFY_LOST_EXECUTION_ENABLEDobjectResume active executions after workspace restart. WARNING: disabling this will impact functionality of the workspace.True
RESUMER_NOTIFY_LOST_LOCK_ENABLEDobjectResume executions waiting for a lock. WARNING: disabling this will impact functionality of the workspace.True
RESUMER_NOTIFY_LOST_SCHEDULE_ENABLEDobjectEnsure enabled schedules have a schedule execution. WARNING: disabling this will impact functionality of the workspace.True
RESUMER_NOTIFY_LOST_SYNC_CONFIG_ENABLEDobjectResume executions waiting for a remote workspace. WARNING: disabling this will impact functionality of the workspace.True
RESUMER_POLL_DELAY_SECONDSobjectThe number of seconds between activity checks.30
RESUMER_POLL_SLOW_DELAY_SECONDSobjectThe number of seconds between database cleanup routine runs.1800
RESUMER_RESUME_SCHEDULED_ENABLEDobjectResume executions waiting for a timeout. WARNING: disabling this will impact functionality of the workspace.True

Security

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

Trash

KeyTypeDescriptionDefault value
TRASH_ACTIVITY_EXPIRY_BATCH_SIZEobjectHow many expired activities to move to the trash at once.100
TRASH_ACTIVITY_EXPIRY_ENABLEDobjectMove ended executions to the trash after a timeout.True
TRASH_ACTIVITY_EXPIRY_INTERVAL_MINUTESobjectThe number of minutes to wait between checks for ended executions.5
TRASH_ACTIVITY_EXPIRY_TIME_MINUTESobjectThe number of minutes before an ended execution will be moved to the trash.20160
TRASH_RETENTION_TIME_ACTIVITIES_ENABLEDobjectPermanently delete activities from the trash after a timeout.True
TRASH_RETENTION_TIME_ACTIVITIES_MINUTESobjectThe number of minutes before activities are permanently deleted from the trash.20160
TRASH_RETENTION_TIME_BATCH_SIZEobjectHow many records to permanently delete from the trash at once.100
TRASH_RETENTION_TIME_INTERVAL_MINUTESobjectThe number of minutes to wait between checks for permanently deleting records from the trash.100
TRASH_RETENTION_TIME_RESOURCES_ENABLEDobjectPermanently delete resources from the trash after a timeout.True
TRASH_RETENTION_TIME_RESOURCES_MINUTESobjectThe number of minutes before resources are permanently deleted from the trash.20160

User Interface

KeyTypeDescriptionDefault value
FILE_SIZE_BYTES_ALWAYS_LOAD_LIMITobjectThe maximum size of a file to always load into the in-browser editor.1048576
FILE_SIZE_BYTES_OPTIONAL_LOAD_LIMITobjectThe maximum size of a file to optionally load into the in-browser editor.10485760
ICON_MAX_SIZE_PXobjectThe maximum size of an icon in pixels. Larger icons will be scaled down.256
INPUT_VALUE_SIZE_BYTES_ALWAYS_LOAD_LIMITobjectThe maximum size of an input value to always load into the in-browser editor.1048576
INPUT_VALUE_SIZE_BYTES_OPTIONAL_LOAD_LIMITobjectThe maximum size of an input value to optionally load into the in-browser editor.10485760
MAX_OPEN_EXECUTIONS_PER_LOCATIONobjectThe 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_LOCATIONobjectThe 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_COUNTobjectThe 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_LIMITobjectHow many submitted messages to display in the messages popover10
MESSAGE_LIST_UNSUBMITTED_LIMITobjectHow many unsubmitted messages to display in the messages popover10
ON_SAVE_MIGRATE_DEPRECATIONS_ENABLEDobjectAutomatically 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_LIMITobjectThe maximum size of an output value to always load into the in-browser editor.1048576
OUTPUT_VALUE_SIZE_BYTES_OPTIONAL_LOAD_LIMITobjectThe maximum size of an output value to optionally load into the in-browser editor.10485760
VISUALIZATION_MAX_NODESobjectThe maximum number of nodes shown in the dependency visualization graph.200
VISUALIZATION_REFRESH_INTERVAL_SECONDSobjectThe number of seconds between refreshes of the dependency visualization graph.5
WORKSPACE_HIGHLIGHT_COLORobjectTo quickly visually identify Cloudomation workspaces you can choose the background color of the top bar.#FFFFFF

Internals

KeyTypeDescriptionDefault value
DB_KEEPALIVE_INTERVAL_SECONDSobjectThe number of seconds to wait between checking database connectivity.20
DB_KEEPALIVE_TIMEOUT_SECONDSobjectThe number of seconds after which a workspace process is considered "dead".60
ENGINE_CHECK_ENABLEDobjectEnable 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_INTERVAL_MINUTESobjectThe 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_MINUTESobjectThe number of minutes to add to the engine check interval to account for high workspace load.1
EXECUTION_DEFAULT_PRIORITYobjectThe default priority of executions. Higher priority executions will be processed first.42
EXECUTION_PROCESSOR_ENABLEDobjectWhen disabled the workspace will not process executions.True
FILE_STORAGE_PATHobjectThe path to the directory where files are stored./data/files
GRAPHQL_QUERY_COMPLEXITY_LIMITobjectThe maximum "cost" of a single graphql query. TODO: document how cost is calculated...2000
IMPORT_REFERENCE_WAIT_TIMEOUT_SECONDSobjectHow many seconds to wait for a referenced record to be created during import.30
MEMORY_TRACING_FRAMESobjectMemory tracing frame count.
Zero (0) disables tracing.
0
MEMORY_TRACING_INTERVAL_SECONDSobjectHow many seconds to wait before taking another snapshot.3600
MEMORY_TRACING_SAVE_DIRECTORYobjectThe directory to save tracing dumps to./tmp
PROFILING_ENABLEDobjectEnable 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_SIZEobjectThe 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_RETENTIONobjectSavepoint 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_SIZEobjectHow many old savepoints to delete at once.100
SAVEPOINT_RETENTION_TIME_ENABLEDobjectAutomatically delete old savepoints of executions.True
SAVEPOINT_RETENTION_TIME_INTERVAL_MINUTESobjectThe number of minutes to wait between checks for old savepoints.60
SAVEPOINT_RETENTION_TIME_MINUTESobjectThe number of minutes before old savepoints of executions are deleted.20160
SCHEDULE_MIN_INTERVAL_FAILED_SECONDSobjectIf a schedule fails to execute wait this many seconds before creating a new one.60
SCHEDULE_MIN_INTERVAL_SUCCEEDED_SECONDSobjectIf a schedule succeeds wait this many seconds before creating a new one.60