dc exec postgres bash -c "psql -U retool_internal_user -d hammerhead_production"
docker-compose exec postgres pg_dump hammerhead_production --no-acl --no-owner --clean -U retool_internal_user -f retool_dump.sql
scp -i “YOUR_PEM_FILE.pem” YOUR_RETOOL_INSTANCE_URL:/home/ubuntu/retool-onpremise/retool_db_dump.sql ~/dev/retool_db_dump.sql
docker kill $(docker ps -q) && docker rm $(docker ps -a -q) && docker rmi $(docker images -q)
https://help.hcltechsw.com/bigfix/10.0/mcm/MCM/Config/install_docker_ce_docker_compose_on_rhel_8.html
docker-compose.yml
version: '3'
services:
api:
image: tryretool/backend:latest
env_file: ./docker.env
depends_on:
- postgres
command: bash -c "./docker_scripts/wait-for-it.sh postgres:5432; ./docker_scripts/start_api.sh"
ports:
- 4000:3000
postgres:
image: postgres:9.6.5
env_file: ./docker.env
volumes:
- ./.db/retool:/var/lib/postgresql/data
docker.env
## Set node environment to production
NODE_ENV=production
## Set the JWT secret for the API server
JWT_SECRET=YOUR_JWT_SECRET
## Set and generate postgres credentials
POSTGRES_DB=retool
POSTGRES_USER=retool
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_PASSWORD=retool
## Set key to encrypt and decrypt database passwords, etc.
ENCRYPTION_KEY=DkDeuq/YB7Rdh3MacpxxajRBLu7SW+EmDzANA7Z6W8PuKntBPugqxR+x1LlnsbEB
## License key
LICENSE_KEY=your_key_here
COOKIE_INSECURE=true
const arr = [1,2,3,4,"last item"].map(row => {
return targetQuery.trigger({
additionalScope: {
key1: row
}
});
});
return Promise.all(arr)
// Queries in one batch will run in parallel.
// You can tweak batch size if you see server errors related to
// parallel execution
const arr = _.range(200) //evaluates as [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
const batchSize = 50
// Note, this is wrapped in a function so that we don't evaluate
// promises immediately, but only when we run them in a batch
const queries = arr.map((item) => () => {
return targetQuery.trigger({
additionalScope: {"key1":item} //passes the value being mapped over as keyName
});
})
async function runAllQueries(queries) {
const batches = _.chunk(queries, batchSize);
const results = [];
while (batches.length) {
const batch = batches.shift();
// This map here actually runs the promise
const result = await Promise.all(batch.map(fn => fn()));
results.push(...result)
}
return results
}
return runAllQueries(queries)
query1.trigger({
additionalScope: {
yourVarName: "someValue"
}
})
API reference here: https://docs.retool.com/reference/api
Need to set this feature flag:Public Resource Developer API (HIDDEN)
Need to create a token with Resources Scopes
.showStatusBar {
height: 100% !important
}
.presentation-canvas-padding .retool-canvas-container--with-navigation {
height: 100% !important;
}
.retool-canvas-container .retool-canvas-container--with-navigation {
height: 100% !important
}
._iYmYp ._UQiEf ._DLewn ._MocLz {
height: 100% !important;
}
._j2NiX {
display: none;
}
RETOOL_HOSTED
RETOOL_ENV
IS_E2E
DATABASE_URL
DATABASE_API_URL
DATABASE_API_BEARER_TOKEN
REDIS_USER_CACHE_HOST
REDIS_USER_CACHE_PORT
REDIS_USER_CACHE_DB
REDIS_USER_CACHE_PASSWORD
REDIS_USER_CACHE_TLS
REDIS_HOST
REDIS_PORT
REDIS_DB
REDIS_PASSWORD
REDIS_TLS
RETOOL_RPC_REDIS_HOST
RETOOL_RPC_REDIS_PORT
RETOOL_RPC_REDIS_DB
RETOOL_RPC_REDIS_PASSWORD
RETOOL_RPC_REDIS_TLS
WORKFLOW_TEMPORAL_OPENTELEMETRY_COLLECTOR
WORKFLOW_WORKER_HEALTHCHECK_PORT
WORKFLOW_CONCURRENT_WEBHOOKS_LIMIT
WORKFLOW_BURST_10_SECOND_LIMIT
GPT_HOURLY_TOKEN_LIMIT
EMBEDDING_DAILY_TOKEN_LIMIT
WORKFLOW_REDIS_HOST
WORKFLOW_REDIS_PORT
WORKFLOW_REDIS_DB
WORKFLOW_REDIS_PASSWORD
WORKFLOW_REDIS_TLS
WORKFLOW_TEMPORAL_CONCURRENT_ACTIVITIES_LIMIT
WORKFLOW_TEMPORAL_CONCURRENT_TASKS_LIMIT
WORKFLOW_TEMPORAL_STICKY_CACHE_SIZE
WORKFLOW_TEMPORAL_CLUSTER_NAMESPACE
WORKFLOW_TEMPORAL_WORKER_SHUTDOWN_GRACE_TIME
WORKFLOW_TEMPORAL_TLS_ENABLED
WORKFLOW_TEMPORAL_TLS_CRT
WORKFLOW_TEMPORAL_TLS_KEY
SENTRY_DSN
SENTRY_DSN_DBCONNECTOR
SENTRY_DSN_JOBS_RUNNER
POSTGRES_DB
POSTGRES_TEST_DB
POSTGRES_USER
POSTGRES_HOST
POSTGRES_PORT
POSTGRES_PASSWORD
POSTGRES_SSL_DISABLED
POSTGRES_SSL_ENABLED
RETOOLDB_POSTGRES_DB
RETOOLDB_POSTGRES_USER
RETOOLDB_POSTGRES_HOST
RETOOLDB_POSTGRES_PORT
RETOOLDB_POSTGRES_PASSWORD
RETOOLDB_POSTGRES_SSL
POSTGRES_SSL_REJECT_UNAUTHORIZED
POSTGRES_CUSTOM_SSL_CERT_PATH
POSTGRES_CUSTOM_SSL_CERT_FILE_NAME
POSTGRES_CUSTOM_SSL_KEY_FILE_NAME
POSTGRES_CUSTOM_SSL_CA_FILE_NAME
POSTGRES_CUSTOM_SSL_CERT_ALTNAME_REGEX
POSTGRES_POOL_SIZE_MIN
POSTGRES_POOL_SIZE_MAX
POSTGRES_STATEMENT_TIMEOUT
POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT
RETOOL_EMAIL_HOST
RETOOL_EMAIL_PORT
RETOOL_EMAIL_USERNAME
RETOOL_EMAIL_PASSWORD
SEQUELIZE_ACQUIRE
SEQUELIZE_IDLE
SEQUELIZE_EVICT
SEQUELIZE_MAX_USES
K8S_HOSTED
USE_SHORT_SESSIONS
DISABLE_TEST_RESOURCES
MAIN_DOMAIN
FAILOVER_DOMAIN
LOG_AUDIT_EVENTS
KEEPALIVE_TIMEOUT_MS
HEADERS_TIMEOUT_MS
SAML_FIRST_NAME_ATTRIBUTE
SAML_LAST_NAME_ATTRIBUTE
SAML_GROUPS_ATTRIBUTE
SAML_SYNC_GROUP_CLAIMS
SAML_AUTH_TOKEN
LDAP_SERVER_URL
LDAP_SERVER_NAME
LDAP_SERVER_CERTIFICATE
LDAP_SERVER_KEY
LDAP_BASE_DOMAIN_COMPONENTS
LDAP_SYNC_GROUP_CLAIMS
LDAP_ROLE_MAPPING
LDAP_ROLE_MAPPING_DISABLED
LDAP_SYNC_ALL_GROUPS
BASE_DOMAIN
SCIM_ENABLE_GROUP_PUT
SCIM_AUTH_TOKEN
VERSION_CONTROL_LOCKED
GITHUB_SYNC_TOKEN
DISABLE_GIT_SYNCING
APPS_FS_SYNC_ON
APPS_FS_SYNC_ORG_ID
APPS_FS_SYNC_WATCHER
OKTA_DOMAIN
OKTA_CLIENT_ID
OKTA_CLIENT_SECRET
RESTRICTED_DOMAIN
DISABLE_USER_PASS_LOGIN
INCLUDE_COOKIES_IN_API_CALLS
SAML_IDP_METADATA
SANDBOX_DOMAIN
COMMIT_HASH
BUILD_NUMBER
CUSTOM_OAUTH2_SSO_CLIENT_ID
CUSTOM_OAUTH2_SSO_CLIENT_SECRET
CUSTOM_OAUTH2_SSO_SCOPES
CUSTOM_OAUTH2_SSO_AUTH_URL
CUSTOM_OAUTH2_SSO_TOKEN_URL
CUSTOM_OAUTH2_SSO_USERINFO_URL
CUSTOM_OAUTH2_SSO_AUDIENCE
CUSTOM_OAUTH2_SSO_JWT_EMAIL_KEY
CUSTOM_OAUTH2_SSO_JWT_FIRST_NAME_KEY
CUSTOM_OAUTH2_SSO_JWT_LAST_NAME_KEY
CUSTOM_OAUTH2_SSO_JWT_ROLES_KEY
CUSTOM_OAUTH2_SSO_ROLE_MAPPING_DISABLED
CUSTOM_OAUTH2_SSO_INCLUDE_BASIC_AUTH_IN_HEADERS
HTML_ESCAPE_RETOOL_EXPRESSIONS
CUSTOM_RETOOL_SANDBOX_RESTRICTIONS
DISABLE_MEMORY_AND_CPU_USAGE_LOGGING
CUSTOM_API_KEY
DEBUG
LOG_LEVEL
HIDE_PROD_AND_STAGING_TOGGLES
HEADER_BASED_AUTH_ENABLED
HEADER_BASED_AUTH_EMAIL_HEADER
HEADER_BASED_AUTH_USERNAME_HEADER
HEADER_BASED_AUTH_ROLES_HEADER
HEADER_BASED_AUTH_METADATA_MAPPING
HEADER_BASED_AUTH_ROLE_MAPPING
HEADER_BASED_AUTH_ROLE_MAPPING_DISABLED
FORWARDABLE_SAME_DOMAIN_COOKIES_ALLOWLIST
DISABLE_FORWARDABLE_COOKIE_DECODING
ENABLE_CLIENT_SIDE_CUSTOM_AUTH_BROWSER_CALLS
CUSTOM_LOGOUT_REDIRECT
TRIGGER_OAUTH_2_SSO_LOGIN_AUTOMATICALLY
TRIGGER_SAML_LOGIN_AUTOMATICALLY
GITHUB_APP_ID
GITHUB_APP_INSTALLATION_ID
GITHUB_APP_PRIVATE_KEY
GITHUB_PERSONAL_ACCESS_TOKEN
GITLAB_URL
GITLAB_PROJECT_ACCESS_TOKEN
GITLAB_PROJECT_ID
GITLAB_MAIN_BRANCH
GITLAB_ORGANIZATION_NAME
GITLAB_REPOSITORY_NAME
GITLAB_PROJECT_SLUG
DISABLE_PROTECTED_APPS_SYNCING
DISABLE_SOURCE_CONTROL_SYNCING
ENABLE_CUSTOM_PLATFORM_LEVEL_AUTH_STEPS
HIDE_ALL_HEADERS_IN_AUDIT_LOG_EVENTS
TRUNCATE_LONG_AUDIT_LOG_DATA
OTEL_TRACING_ENABLED
OTEL_COLLECTOR_URL
SAMPLE_DATABASES_SERVER_URL
SAMPLE_DATABASES_API_BEARER_TOKEN
CUSTOM_OAUTH2_SSO_ACCESS_TOKEN_LIFESPAN_MINUTES
DISABLE_RATE_LIMIT
AUTH_REQS_PER_MINUTE
INVITES_PER_DAY
ENABLE_RUN_QUERY_BY_UUID_METADATA_LOG
FAILED_MONTHLY_LOGINS_PER_IP
FAILED_MONTHLY_LOGINS_PER_USER
DBCONNECTOR_QUERY_TIMEOUT_MS
DBCONNECTOR_EXTENDED_QUERY_TIMEOUT_MS
DBCONNECTOR_EXTENDED_QUERY_TIMEOUT_ENABLED_RESOURCES
DBCONNECTOR_KEEPALIVE_TIMEOUT_MS
DBCONNECTOR_HEADERS_TIMEOUT_MS
DBCONNECTOR_MEMORY_LIMIT_PERCENT
DBCONNECTOR_HTTP_AGENT_MAX_SOCKETS
RETOOL_MAX_MEMORY_MB
DBCONNECTOR_FIREBASE_MEMORY_LIMIT_MB
DBCONNECTOR_FIREBASE_WORKER_ENDURANCE
ENABLE_DBCONNECTOR_FIREBASE_PROCESS_LIMIT
DBCONNECTOR_INGRESS_PREFIX
DBCONNECTOR_INGRESS_DOMAIN
DBCONNECTOR_INGRESS_DOMAIN_SECONDARY
DBCONNECTOR_AUTH
USE_DBCONNECTOR_INGRESS_FOR_PRIMARY
USE_DBCONNECTOR_INGRESS_FOR_SECONDARY
DBCONNECTOR_NUM_WORKERS
DBCONNECTOR_SHARDING_DOMAIN
DBCONNECTOR_SHARDING_TIME_PERIOD_IN_SECONDS
DBCONNECTOR_SHARDING_TTL
DBCONNECTOR_SHARDING_JITTER_THRESHOLD
DBCONNECTOR_SHARDING_MIN_JITTER
DBCONNECTOR_SHARDING_MAX_JITTER
DBCONNECTOR_SHARDING_OLD_WINDOW_WEIGHT
DBCONNECTOR_SHARDING_RESOURCE_TYPES
DBCONNECTOR_CPU_PROFILING_TIME_MS
DBCONNECTOR_AWS_ROLE_ASSUMER_WITH_WEB_IDENTITY
DBCONNECTOR_AWS_ENABLE_DEFAULT_PROVIDER_ATHENA
DBCONNECTOR_AWS_ENABLE_DEFAULT_PROVIDER_DYNAMODB
DBCONNECTOR_AWS_ENABLE_DEFAULT_PROVIDER_LAMBDA
DBCONNECTOR_AWS_ENABLE_DEFAULT_PROVIDER_S3
DBCONNECTOR_DOMAIN_US_WEST_2
DBCONNECTOR_DOMAIN_EU_CENTRAL_1
DBCONNECTOR_MONGODB_ENABLE_STREAMING_ONPREM
CODE_EXECUTOR_INGRESS_DOMAIN
JWT_SECRET
CLIENT_ID
CLIENT_SECRET
GOOGLE_CLIENT_SECRET
GOOGLE_API_KEY
GITHUB_CLIENT_ID
GITHUB_CLIENT_SECRET
DISABLE_PUBLIC_PAGES
DISABLE_IMAGE_PROXY
DISABLE_INTERCOM
DISABLE_DATABASE_MIGRATIONS
DATABASE_MIGRATIONS_TIMEOUT_SECONDS
DISABLE_DATABASE_MIGRATIONS_TIMEOUT
ENABLE_DATABASE_MIGRATIONS_CONCURRENT_INDEX_CREATION
AUDIT_INSERT_TIMEOUT_SECONDS
AUDIT_SELECT_TIMEOUT_SECONDS
AUDIT_TRAILS_FILTER_DEFAULT_DAYS
USE_STAGING_LICENSING_SERVER
LICENSING_SERVER_ENV
PROTECTED_APPS_TREE_TRIMMING
PROTECTED_APPS_TREE_TRIMMING_CHUNK_SIZE
PRESERVE_PASSWORDS_FIRST_GOOGLE_LOGIN
DISABLE_PAGE_USER_HEARTBEAT
ENABLE_GLOBAL_QUERY_TIMEOUT
SCIM_LOG_FULL_REQUESTS
NODE_METRICS_SECRET
NODE_METRICS_MONTIOR_MINUTE_INTERVAL
NODE_METRICS_MONTIOR_ENABLED
NODE_HTTP_AGENT_MAX_SOCKETS
REST_API_MIME_TO_EXTENSION_PARSING_ENABLED
CONTENT_TYPE_PARSING_REST_API_ENABLED
APPLE_SIWA_KEY
APPLE_SIWA_DEVELOPMENT_KEY
USE_GCM_ENCRYPTION
BOOTSTRAP_FROM_SOURCE
BOOTSTRAP_USER
BOOTSTRAP_GITHUB_ORGANIZATION_NAME
BOOTSTRAP_GITHUB_REPOSITORY_NAME
BOOTSTRAP_GITHUB_MAIN_BRANCH
ENCRYPTION_KEY
LICENSE_KEY
USE_REDIS_HEARTBEATS
CODE_COMMIT_AWS_ACCESS_KEY_ID
CODE_COMMIT_AWS_SECRET_ACCESS_KEY
CODE_COMMIT_AWS_DEFAULT_REGION
CODE_COMMIT_REPOSITORY_NAME
CODE_COMMIT_MAIN_BRANCH
CODE_COMMIT_HTTPS_USERNAME
CODE_COMMIT_HTTPS_PASSWORD
AIRTABLE_API_KEY
ACTIVE_PAGE_SAVE_PROCESSOR_QUEUE
AZURE_QUEUE_STORAGE_CONNECTION_STRING
DATABASE_SCHEMA_QUERY_LIMIT
SNS_TOPIC_ARN
SNS_TOPIC_REGION
DB_CONNECTOR_PORT
DOMAINS
HTTP_PROXY
HTTP_PROXY_STRICT
NO_PROXY
INTERCOM_IDENTITY_VERIFICATION_SECRET_KEY
JDBC_DIRECTORY_PATH
K8S_DEPLOYMENT
K8S_IMAGE
K8S_NODE_IP
K8S_NODE_NAME
K8S_POD_IP
K8S_POD_NAME
LICENSING_POSTGRES_HOST
LICENSING_POSTGRES_PASSWORD
LICENSING_POSTGRES_PORT
LICENSING_POSTGRES_USER
LIST_ENDPOINTS_SECRET
MAILGUN_API_KEY
MAILGUN_DOMAIN
MAILGUN_FROM_EMAIL
MAILGUN_REPLY_TO
EMAIL_SENDER_HOST
HIBP_API_KEY
NEW_RELIC_LICENSE_KEY
NODE_ENV
NODE_EXTRA_CA_CERTS
OFFLINE_LICENSE_KEY
PORT
BACKEND_API_PORT
PRESTO_POOL_MAX_CONNECTION_RETRIES
PRESTO_POOL_MAX_SIZE
PRESTO_POOL_MIN_SIZE
PRESTO_DISABLE_GET_SCHEMA
PRESTO_DISABLE_QUERY_TIMEOUT
GRPC_MAX_RETRIES
OPEN_API_SPEC_CACHE_TTL_MS
DBCONNECTOR_POSTGRES_POOL_MAX_SIZE
PROTO_DIRECTORY_PATH
PROTO_IMPORT_DIRECTORY_PATH
RETOOL_SLACK_CONNECTED_APP_CLIENT_ID
RETOOL_SLACK_CONNECTED_APP_CLIENT_SECRET
RETOOL_MICROSOFT_CONNECTED_APP_CLIENT_ID
RETOOL_MICROSOFT_CONNECTED_APP_CLIENT_SECRET
RETOOL_ASANA_CONNECTED_APP_CLIENT_ID
RETOOL_ASANA_CONNECTED_APP_CLIENT_SECRET
RETOOL_AZURE_STORAGE_CONNECTION_STRING
RETOOL_FRONT_CONNECTED_APP_CLIENT_ID
RETOOL_FRONT_CONNECTED_APP_CLIENT_SECRET
RETOOL_EMAIL_HOURLY_LIMIT
RETOOL_SALESFORCE_CONNECTED_APP_CLIENT_ID
RETOOL_SALESFORCE_CONNECTED_APP_CLIENT_SECRET
RETOOL_WORKFLOW_IN_SANDBOX
RETOOL_WORKFLOW_ON_PREM_LOG_TO_CLOUDWATCH
SAMLIFY_DRIFT_TOLERANCE_FUTURE
SAMLIFY_DRIFT_TOLERANCE_PAST
SAML_SP_ENTITY_ID
SANDBOX_LAMBDA_API_KEY
SLACK_API_TOKEN
SNOWFLAKE_POOL_ACQUIRE_TIMEOUT_MS
SNOWFLAKE_POOL_MAX_SIZE
SNOWFLAKE_POOL_MAX_TRIES
SNOWFLAKE_POOL_MIN_SIZE
SNOWFLAKE_VALIDATION_DISABLE_HEARTBEAT
STATSD_HOST
STATSD_PORT
STATSD_PROTOCOL
STATSD_SOCKET_PATH
STRIPE_SECRET_KEY
STRIPE_WEBHOOK_SECRET
VERSION_NUMBER
WORKFLOW_BACKEND_HOST
WORKFLOW_LAMBDA_FUNCTION_NAME
WORKFLOW_LAMBDA_INVOKE_ACCESS_KEY_ID
WORKFLOW_LAMBDA_INVOKE_SECRET_ACCESS_KEY
WORKFLOW_LAMBDA_REGION
WORKFLOW_LOAD_TEST_CACHE_SIZE
WORKFLOW_TEMPORAL_LAMBDA_FUNCTION_NAME
WORKFLOW_TEMPORAL_LAMBDA_INVOKE_ACCESS_KEY_ID
WORKFLOW_TEMPORAL_LAMBDA_INVOKE_SECRET_ACCESS_KEY
WORKFLOW_TEMPORAL_LAMBDA_REGION
WORKFLOW_LOGGING_ACCESS_KEY_ID
WORKFLOW_LOGGING_GROUP_NAME
WORKFLOW_LOGGING_REGION
WORKFLOW_LOGGING_SECRET_ACCESS_KEY
WORKFLOW_S3_ACCESS_KEY_ID
WORKFLOW_S3_REGION
WORKFLOW_S3_BUCKET
WORKFLOW_S3_SECRET_ACCESS_KEY
WORKFLOW_SCHEDULING_ENABLED
WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_HOST
WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_PORT
WORKFLOW_BLOCK_STORAGE_LOCATION
WORKFLOW_DEV_FORCE_USE_CLOUD_EXECUTION_PATH
WORKFLOW_LOAD_TEST_CACHE_SIZE
LICENSING_STATUS_PROPAGATION_ENABLED
REQUIRE_PASSWORD_TO_DISABLE_MFA
http_proxy
USE_AUDIT_TRAILS_POSTGRES_DB
AUDIT_TRAILS_POSTGRES_HOST
AUDIT_TRAILS_POSTGRES_DB
AUDIT_TRAILS_POSTGRES_USER
AUDIT_TRAILS_POSTGRES_PORT
AUDIT_TRAILS_POSTGRES_PASSWORD
NUM_WORKERS
IS_ADMIN
BITBUCKET_USER
BITBUCKET_APP_PASSWORD
BITBUCKET_MAIN_BRANCH
BITBUCKET_WORKSPACE
BITBUCKET_REPO
BITBUCKET_ENTERPRISE_URL
BITBUCKET_ENTERPRISE_API_URL
AZURE_REPOS_USER
AZURE_REPOS_PERSONAL_ACCESS_TOKEN
AZURE_REPOS_MAIN_BRANCH
AZURE_REPOS_ORGANIZATION
AZURE_REPOS_PROJECT
AZURE_REPOS_REPO
AZURE_REPOS_URL
INC_613_GET_RECORD_TRANSIT
OPENAI_SECRET_KEY
OPENAI_API_BASE_URL
ACCESS_TOKEN_COOKIE_NAME
OPENAI_PROXY_HOST
OPENAI_PROXY_API_TOKEN
MOBILE_PUSH_NOTIFIER_HOST
MOBILE_PUSH_NOTIFIER_API_TOKEN
MOBILE_PUSH_NOTIFIER_APNS_SANDBOX_APP_ID
MOBILE_PUSH_NOTIFIER_APNS_APP_ID
MOBILE_PUSH_NOTIFIER_FCM_APP_ID
CUSTOM_OAUTH2_SSO_NO_SCOPE_IN_AUTHORIZATION_CODE_REQ
CUSTOM_DOMAINS_BUILDKITE_API_TOKEN
RETOOL_CACHE_FEATURE_FLAGS_IN_REDIS
RETOOL_USE_FEATURE_FLAGS_DEFAULT_VALUE_FROM_CONFIG
CUSTOM_SPECS_DOMAIN
MARKETPLACE_S3_ACCESS_KEY_ID
MARKETPLACE_S3_SECRET_ACCESS_KEY
RETOOL_STORAGE_S3_BUCKET
RETOOL_STORAGE_S3_ACCESS_KEY_ID
RETOOL_STORAGE_S3_SECRET_ACCESS_KEY
FIRESTORE_TIMESTAMP_STANDARDIZATION
RETOOL_SDK_QUERY_DEFAULT_TIMEOUT_MS
RETOOL_SDK_QUERY_CACHE_TTL_MS