Retool Monster

exec into postgres

dc exec postgres bash -c "psql -U retool_internal_user -d hammerhead_production"

dump postgres to the postgres container (because the postgres container has psql)

docker-compose exec postgres  pg_dump hammerhead_production --no-acl --no-owner --clean -U  retool_internal_user -f retool_dump.sql 

scp database dump to your machine

scp -i “YOUR_PEM_FILE.pem” YOUR_RETOOL_INSTANCE_URL:/home/ubuntu/retool-onpremise/retool_db_dump.sql ~/dev/retool_db_dump.sql
    

completely nuke ec2 (or any machine's) docker

docker kill $(docker ps -q) && docker rm $(docker ps -a -q) && docker rmi $(docker images -q)

install docker/docker-compose on RHEL

https://help.hcltechsw.com/bigfix/10.0/mcm/MCM/Config/install_docker_ce_docker_compose_on_rhel_8.html

minimal docker-compose deployment

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
    

simple promise loop

        const arr = [1,2,3,4,"last item"].map(row => {
            return targetQuery.trigger({
                additionalScope: {
                    key1: row
                }
            });
        });
        
        return Promise.all(arr)

batching js queries

        // 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)

pass data into triggered query

        query1.trigger({
            additionalScope: {
                yourVarName: "someValue"
            }
        })
    

Retool Developer API

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

Remove black header bar

      .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;
      }
    

env vars

      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