Skip to main content
To see a complete list of environment variables for a specific data source, please check the relevant page on Connecting to Data Sources.

CUBEJS_API_SECRET

The secret key used to sign and verify JWTs. Generated on project scaffold with npx cubejs-cli create. See also the check_auth configuration option.

CUBEJS_APP

An application ID used to uniquely identify the Cube deployment. Can be different for multitenant setups.

CUBEJS_AWS_KEY

The AWS Access Key ID to use for database connections.

CUBEJS_AWS_SECRET

The AWS Secret Access Key to use for database connections.

CUBEJS_AWS_REGION

The AWS region to use for database connections.

CUBEJS_AWS_S3_OUTPUT_LOCATION

The S3 path to store AWS Athena query results made by Cube.

CUBEJS_AWS_ATHENA_WORKGROUP

The name of the AWS Athena workgroup in which the query is being started.

CUBEJS_AWS_ATHENA_CATALOG

The name of the AWS Athena catalog to use for queries.

CUBEJS_AWS_ATHENA_ASSUME_ROLE_ARN

The ARN of the IAM role to assume for Athena access.

CUBEJS_AWS_ATHENA_ASSUME_ROLE_EXTERNAL_ID

The external ID to use when assuming the IAM role, if required by the role’s trust policy.

CUBEJS_DB_SCHEMA

The name of the schema to use as information_schema filter. Reduces count of tables loaded during data model generation.

CUBEJS_CACHE_AND_QUEUE_DRIVER

The cache and queue driver to use for the Cube deployment. It can be also set using the cache_and_queue_driver configuration option.

CUBEJS_CONCURRENCY

The number of concurrent connections each query queue has to the database. It can be also set as concurrency in the orchestrator_options configuration option. If you’d like to adjust the concurrency for the refresh worker, use CUBEJS_REFRESH_WORKER_CONCURRENCY.

CUBEJS_REFRESH_WORKER_CONCURRENCY

The number of pre-aggregation queries the refresh worker executes concurrently against the source database.

CUBEJS_SCHEDULED_REFRESH_QUERIES_PER_APP_ID

How many pre-aggregations the refresh worker will build in parallel for each application id as determined by the context_to_app_id configuration option. Note that this parameter doesn’t override the overall refresh worker concurrency, configured via the CUBEJS_REFRESH_WORKER_CONCURRENCY environment variable, and it should be adjusted accordingly.
Previously, this environment variable was named CUBEJS_SCHEDULED_REFRESH_CONCURRENCY.

CUBEJS_CUBESTORE_HOST

The hostname of the Cube Store deployment

CUBEJS_CUBESTORE_PORT

The port of the Cube Store deployment.

CUBEJS_DATASOURCES

A comma-separated list of data source names. Data sources defined here can be used to decorate CUBEJS_DB_* environment variables.
In Cube Cloud, this variable is auto-maintained when sources are managed from Settings → Data Sources. The page writes, updates, and removes it as you add or delete named sources — you only need to hand-edit it when configuring Cube Core or when overriding the UI from Settings → Environment Variables.

CUBEJS_DB_BQ_CREDENTIALS

A Base64 encoded JSON key file for connecting to Google BigQuery.

CUBEJS_DB_BQ_KEY_FILE

The path to a JSON key file for connecting to Google BigQuery.

CUBEJS_DB_BQ_LOCATION

The Google BigQuery dataset location to connect to. Required if used with pre-aggregations outside of US. If not set then BQ driver will fail with Dataset was not found in location US error.

CUBEJS_DB_BQ_PROJECT_ID

The Google BigQuery project ID to connect to.

CUBEJS_DB_CLICKHOUSE_READONLY

Whether the ClickHouse user has read-only access or not.

CUBEJS_DB_CLICKHOUSE_COMPRESSION

Whether the ClickHouse client has compression enabled or not.

CUBEJS_DB_DATABRICKS_ACCEPT_POLICY

To accept the license terms for the Databricks JDBC driver, this must be set to true.

CUBEJS_DB_DATABRICKS_CATALOG

The name of the Databricks catalog to connect to.

CUBEJS_DB_DATABRICKS_OAUTH_CLIENT_ID

The OAuth client ID for service principal authentication in Databricks.

CUBEJS_DB_DATABRICKS_OAUTH_CLIENT_SECRET

The OAuth client secret for service principal authentication in Databricks.

CUBEJS_DB_DATABRICKS_TOKEN

The personal access token used to authenticate the Databricks connection.

CUBEJS_DB_DATABRICKS_URL

The URL for a JDBC connection.

CUBEJS_DB_DOMAIN

A domain name within an MS SQL database to connect to.

CUBEJS_DB_DUCKDB_MEMORY_LIMIT

The maximum memory limit for DuckDB. Equivalent to SET memory_limit=<MEMORY_LIMIT>.

CUBEJS_DB_DUCKDB_SCHEMA

The default search schema for DuckDB.

CUBEJS_DB_DUCKDB_MOTHERDUCK_TOKEN

The service token to use for connections to MotherDuck.

CUBEJS_DB_DUCKDB_DATABASE_PATH

The database filepath to use for connection to a local database.

CUBEJS_DB_DUCKDB_S3_ACCESS_KEY_ID

The AWS Access Key ID to use for S3 connections.

CUBEJS_DB_DUCKDB_S3_SECRET_ACCESS_KEY

The AWS Secret Access Key to use for S3 connections.

CUBEJS_DB_DUCKDB_S3_ENDPOINT

The AWS endpoint to use for S3 connections.

CUBEJS_DB_DUCKDB_S3_REGION

The AWS region to use for S3 connections.

CUBEJS_DB_DUCKDB_S3_USE_SSL

Use SSL when connecting to S3.

CUBEJS_DB_DUCKDB_S3_URL_STYLE

The URL style to be used by S3.

CUBEJS_DB_DUCKDB_S3_SESSION_TOKEN

The S3 session token.

CUBEJS_DB_DUCKDB_EXTENSIONS

A comma-separated list of DuckDB extensions to install and load.

CUBEJS_DB_DUCKDB_COMMUNITY_EXTENSIONS

A comma-separated list of DuckDB community extensions to install and load.

CUBEJS_DB_DUCKDB_S3_USE_CREDENTIAL_CHAIN

A flag to use credentials chain for secrets for S3 connections.

CUBEJS_DB_ELASTIC_APIKEY_ID

The ID of the API key from elastic.co. Required when using Elastic Cloud.

CUBEJS_DB_ELASTIC_APIKEY_KEY

The API key from elastic.co. Required when using Elastic Cloud.

CUBEJS_DB_ELASTIC_OPENDISTRO

If true, then use the Open Distro for Elasticsearch.

CUBEJS_DB_ELASTIC_QUERY_FORMAT

By default, queries return data in JDBC format, but you can also return data in standard Elasticsearch JDBC, JSON, CSV, YAML or raw formats (only JSON and JDBC are currently supported).

CUBEJS_DB_EXPORT_BUCKET

The name of a bucket in cloud storage to store the database export snapshots.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_TYPE

The cloud provider where the bucket is hosted.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_AWS_KEY

The AWS Access Key ID to use for the export bucket.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_AWS_SECRET

The AWS Secret Access Key to use for the export bucket.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_AWS_REGION

The AWS region of the export bucket.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_AZURE_KEY

The Azure Access Key to use for the export bucket.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_AZURE_TENANT_ID

The Azure tenant ID to use for the export bucket.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_AZURE_CLIENT_ID

The Azure client ID to use for the export bucket.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_AZURE_CLIENT_SECRET

The Azure client secret to use for the export bucket.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_BUCKET_MOUNT_DIR

The mount path to use for a Databricks DBFS mount.

CUBEJS_DB_EXPORT_BUCKET_REDSHIFT_ARN

An ARN of an AWS IAM role with permission to write to the configured bucket (see CUBEJS_DB_EXPORT_BUCKET).
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_GCS_CREDENTIALS

A Base64 encoded JSON key file for connecting to Google Cloud.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_EXPORT_INTEGRATION

The name of the integration used in the database. Only required when using Snowflake and Google Cloud Storage.
When using multiple data sources, this environment variable can be decorated with a data source.

CUBEJS_DB_HOST

The host URL for a database.

CUBEJS_DB_SOCKET_PATH

The path to a Unix socket that is used to connect to a data source, e.g., MySQL.

CUBEJS_DB_MAX_POOL

The maximum number of concurrent database connections to pool.

CUBEJS_DB_NAME

The name of the database to connect to.

CUBEJS_DB_PASS

The password used to connect to the database.

CUBEJS_DB_PORT

The port for the database connection.

CUBEJS_DB_PRECISE_DECIMAL_IN_CUBESTORE

If true, decimal columns maintain their precision and scale specifications (e.g., decimal(10, 2)) rather than being converted to a generic decimal type when data is exported from a data source to Cube Store.

CUBEJS_DB_PRESTO_CATALOG

The catalog within Presto/Trino to connect to.

CUBEJS_DB_PRESTO_AUTH_TOKEN

The authentication token to use when connecting to Presto/Trino. It will be sent in the Authorization header.

CUBEJS_DB_QUERY_TIMEOUT

The timeout value for any queries made to the database by Cube.
There’s a hard limit of 20 minutes for queries that ingest data into Cube Store when pre-aggregations are built. If you bump into this limit, consider using an export bucket and splitting pre-aggregations into partitions.

CUBEJS_DB_FETCH_COLUMNS_BY_ORDINAL_POSITION

Force fetching of columns by ordinal positions. Certain data-providers (e.g., Redshift) do not guarantee columns in the same order on each request (e.g., SELECT * FROM foo). This flag ensures that columns will be fetched in proper order for pre-aggregation generation.

CUBEJS_DB_HIVE_TYPE

The type of Hive server to connect to.

CUBEJS_DB_HIVE_VER

The version of the Hive server to connect to.

CUBEJS_DB_HIVE_THRIFT_VER

The version of the Thrift protocol used to connect to Hive.

CUBEJS_DB_HIVE_CDH_VER

The Cloudera Distribution Hadoop (CDH) version, used when CUBEJS_DB_HIVE_TYPE is set to CDH.

CUBEJS_DB_KAFKA_HOST

Kafka broker host(s) for Kafka streams mode. Multiple brokers can be comma-separated.

CUBEJS_DB_KAFKA_USER

Username for Kafka broker authentication (SASL PLAIN).

CUBEJS_DB_KAFKA_PASS

Password for Kafka broker authentication (SASL PLAIN).

CUBEJS_DB_KAFKA_USE_SSL

If true, enables SASL_SSL for the Kafka connection.

CUBEJS_DB_MATERIALIZE_CLUSTER

The cluster name to use when connecting to Materialize.

CUBEJS_DB_MYSQL_USE_NAMED_TIMEZONES

This flag controls how time zones conversion is done in the generated SQL for MySQL:
  • If it is set to true, time zone names are used. In this case, your MySQL server needs to be configured properly.
  • If it is set to false, numeric offsets are used instead.

CUBEJS_DB_MSSQL_USE_NAMED_TIMEZONES

This flag controls how time zone conversion is done in the generated SQL for Microsoft SQL Server:
  • If it is set to true, time zone names are used, with DST-aware conversion via AT TIME ZONE.
  • If it is set to false, numeric offsets are used instead.

CUBEJS_DB_REDSHIFT_CLUSTER_IDENTIFIER

The Redshift cluster identifier. Required for IAM authentication.

CUBEJS_DB_REDSHIFT_AWS_REGION

The AWS region of the Redshift cluster. Required for IAM authentication.

CUBEJS_DB_REDSHIFT_ASSUME_ROLE_ARN

The ARN of the IAM role to assume for cross-account access.

CUBEJS_DB_REDSHIFT_ASSUME_ROLE_EXTERNAL_ID

The external ID for the assumed role’s trust policy.

CUBEJS_DB_SNOWFLAKE_ACCOUNT

The Snowflake account identifier to use when connecting to the database.

CUBEJS_DB_SNOWFLAKE_AUTHENTICATOR

The type of authenticator to use with Snowflake. Use SNOWFLAKE with username/password, or SNOWFLAKE_JWT with key pairs.

CUBEJS_DB_SNOWFLAKE_OAUTH_TOKEN

The OAuth token to use with Snowflake.

CUBEJS_DB_SNOWFLAKE_OAUTH_TOKEN_PATH

The path to the file containing the OAuth token for Snowflake.

CUBEJS_DB_SNOWFLAKE_CLIENT_SESSION_KEEP_ALIVE

If true, keep the Snowflake connection alive indefinitely.

CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY

The content of the private RSA key (encrypted or not).

CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PASS

The password for the private RSA key. Only required for encrypted keys.

CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PATH

The path to the private RSA key folder.

CUBEJS_DB_SNOWFLAKE_REGION

The Snowflake region to use when connecting to the database.

CUBEJS_DB_SNOWFLAKE_ROLE

The Snowflake role to use when connecting to the database.

CUBEJS_DB_SNOWFLAKE_WAREHOUSE

The Snowflake warehouse to use when connecting to the database.

CUBEJS_DB_SNOWFLAKE_HOST

Host address to which the driver should connect.

CUBEJS_DB_SNOWFLAKE_QUOTED_IDENTIFIERS_IGNORE_CASE

Whether or not quoted identifiers should be case insensitive.

CUBEJS_DB_PINOT_NULL_HANDLING

The Startree/Pinot null value support. If true, enables null handling.

CUBEJS_DB_PINOT_AUTH_TOKEN

The authentication token for StarTree to be passed as HTTP headers.

CUBEJS_DB_SSL

If true, enables SSL encryption for database connections from Cube.

CUBEJS_DB_SSL_CA

The contents of a CA bundle in PEM format, or a path to one. For more information, check the options.ca property for TLS Secure Contexts in the Node.js documentation.

CUBEJS_DB_SSL_CERT

The contents of an SSL certificate in PEM format, or a path to one. For more information, check the options.cert property for TLS Secure Contexts in the Node.js documentation.

CUBEJS_DB_SSL_KEY

The contents of a private key in PEM format, or a path to one. For more information, check the options.key property for TLS Secure Contexts in the Node.js documentation.

CUBEJS_DB_SSL_SERVERNAME

The server name to use for SNI (Server Name Indication) when establishing the TLS connection. For more information, check the options.servername property for TLS Secure Contexts in the Node.js documentation.

CUBEJS_DB_TYPE

A database from the list of supported databases.

CUBEJS_DB_URL

The URL for a database.

CUBEJS_DB_USER

The username used to connect to the database.

CUBEJS_DB_QUERY_DEFAULT_LIMIT

The default row limit in the result set if it’s not explicitly specified in an API query.

CUBEJS_DB_QUERY_LIMIT

The maximum row limit in the result set. An explicit limit in a query cannot exceed this value, except for SQL API queries when streaming mode is enabled.
Increasing the maximum row limit may cause out-of-memory (OOM) crashes and make Cube susceptible to denial-of-service (DoS) attacks if it’s exposed to untrusted environments.

CUBEJS_DEFAULT_TIMEZONE

The default time zone for queries. You can set the time zone name in the TZ Database Name format, e.g., America/Los_Angeles.

CUBEJS_DEFAULT_API_SCOPES

API scopes used to allow or disallow access to REST (JSON) API endpoints. See also the context_to_api_scopes configuration option.

CUBEJS_DEV_MODE

If true, enables development mode.

CUBEJS_DROP_PRE_AGG_WITHOUT_TOUCH

If true, it enables dropping pre-aggregations that Refresh Worker doesn’t touch within CUBEJS_TOUCH_PRE_AGG_TIMEOUT. Pre-aggregations are touched whenever they are rebuilt or a Refresh Worker checks its freshness. The first drop will be initiated when the Refresh Worker is able to check freshness for every scheduledRefresh: true pre-aggregation. If you have multiple Refresh Workers with different data model versions sharing the same Cube Store cluster, then touches from both refresh workers are respected.

CUBEJS_FIREBOLT_ACCOUNT

The Firebolt account name.

CUBEJS_FIREBOLT_API_ENDPOINT

The Firebolt API endpoint. Used for authentication.

CUBEJS_FIREBOLT_ENGINE_NAME

The name of the Firebolt engine to connect to.

CUBEJS_GH_API_TOKEN

A GitHub Personal Access Token to avoid API rate limiting when downloading Cube Store.

CUBEJS_JWK_URL

Enables JSON Web Key (JWK)-based authentication in Cube. It can be also set as jwkUrl in the jwt configuration option.

CUBEJS_JWT_ALGS

Any supported algorithm for decoding JWTs. It can be also set as algorithms in the jwt configuration option.

CUBEJS_JWT_AUDIENCE

An audience value which will be used to enforce the aud claim from inbound JWTs. It can be also set as audience in the jwt configuration option.

CUBEJS_JWT_CLAIMS_NAMESPACE

A namespace within the decoded JWT under which any custom claims can be found. It can be also set as claimsNamespace in the jwt configuration option.

CUBEJS_JWT_ISSUER

An issuer value which will be used to enforce the iss claim from inbound JWTs. It can be also set as issuer in the jwt configuration option.

CUBEJS_JWT_KEY

The secret key used to sign and verify JWTs. Similar to CUBEJS_API_SECRET. It can be also set as key in the jwt configuration option.

CUBEJS_JWT_SUBJECT

A subject value which will be used to enforce the sub claim from inbound JWTs. It can be also set as subject in the jwt configuration option.

CUBEJS_LOG_LEVEL

The logging level for Cube.
In production, Cube emits logs as structured JSON — one JSON object per line, each including a level field with the log level. In development, logs are emitted as human-readable text.
See also CUBESTORE_LOG_LEVEL. See also the logger configuration option.

CUBEJS_MAX_PARTITIONS_PER_CUBE

The maximum number of partitions each pre-aggregation in a cube can use.

CUBEJS_PG_SQL_PORT

The port used by the SQL API to listen to Postgres-compatible connections on.

CUBEJS_PRE_AGGREGATIONS_BUILDER

If true, this instance of Cube will build pre-aggregations, even if it is an API instance.
If Cube is configured to act as a refresh worker instance using CUBEJS_REFRESH_WORKER, then CUBEJS_PRE_AGGREGATIONS_BUILDER will be true.

CUBEJS_PRE_AGGREGATIONS_SCHEMA

The database schema name to use for storing pre-aggregations. It can be also set using the pre_aggregations_schema configuration option.
In Cube Cloud, all environments share the same pre-aggregations schema name by default. This allows reusing pre-aggregations across environments, saving both time and cost.

CUBEJS_PRE_AGGREGATIONS_DB_*

Connection variables for a dedicated data source used to build and store the default data source’s pre-aggregations, instead of its own connection. They mirror the regular CUBEJS_DB_* connection variables — for example CUBEJS_PRE_AGGREGATIONS_DB_TYPE, CUBEJS_PRE_AGGREGATIONS_DB_HOST, CUBEJS_PRE_AGGREGATIONS_DB_PORT, CUBEJS_PRE_AGGREGATIONS_DB_USER, CUBEJS_PRE_AGGREGATIONS_DB_PASS, and CUBEJS_PRE_AGGREGATIONS_DB_SSL. For a named data source, use the decorated form CUBEJS_DS_<NAME>_PRE_AGGREGATIONS_DB_*. See pre-aggregation data source for details and examples.

CUBEJS_PRE_AGGREGATIONS_ALLOW_NON_STRICT_DATE_RANGE_MATCH

If true, allows non-strict date range matching for pre-aggregations by default. This can be overridden for individual pre-aggregations using the allow_non_strict_date_range_match parameter.

CUBEJS_PRE_AGGREGATIONS_BACKOFF_MAX_TIME

The maximum time, in seconds, for exponential backoff for retries when pre-aggregation builds fail. When a pre-aggregation refresh fails, retries will be executed with exponentially increasing delays, but the delay will not exceed the value specified by this variable.

CUBEJS_REFRESH_WORKER

If true, this instance of Cube will only refresh pre-aggregations.

CUBEJS_ROLLUP_ONLY

If true, the API instance of Cube will only fulfill queries from pre-aggregations. See rollup-only mode for details. It can be also set using the orchestrator_options.rollupOnlyMode configuration option.

CUBEJS_SCHEDULED_REFRESH_TIMEZONES

A comma-separated list of timezones to schedule refreshes for. It can be also set using the scheduled_refresh_time_zones configuration option.

CUBEJS_SCHEMA_PATH

The path where Cube loads data models from.
Until v0.35, the default value was schema.
It can be also set using the schema_path configuration option.

CUBEJS_SERVER_HEADERS_TIMEOUT

The number of milliseconds to limit the amount of time the parser will wait to receive the complete HTTP headers. If the timeout expires, the server responds with status 408 without forwarding the request to the request listener and then closes the connection.

CUBEJS_SERVER_KEEP_ALIVE_TIMEOUT

The number of milliseconds of inactivity a server needs to wait for additional incoming data, after it has finished writing the last response, before a socket will be destroyed.

CUBEJS_MAX_REQUEST_SIZE

The maximum allowed size for incoming requests. Applies to both HTTP body parser and WebSocket message payload limits. Must be between 100kb and 64mb.

CUBEJS_SQL_USER

A username required to access the SQL API. See also the check_sql_auth configuration option.

CUBEJS_SQL_PASSWORD

A password required to access the SQL API. See also the check_sql_auth configuration option.

CUBEJS_SQL_SUPER_USER

A name of specific user who will be allowed to change the user during the SQL API session. See also the can_switch_sql_user configuration option.

CUBEJS_ALLOW_UNGROUPED_WITHOUT_PRIMARY_KEY

If true, disables the primary key inclusion check for ungrouped queries. It can be also set using the allow_ungrouped_without_primary_key configuration option.
When query push-down in the SQL API is enabled via the CUBESQL_SQL_PUSH_DOWN environment variable, this option is enabled as well for the best user experience.

CUBESQL_SQL_PUSH_DOWN

If true, enables query pushdown in the SQL API.

CUBESQL_STREAM_MODE

If true, enables the streaming mode in the SQL API. When enabled, SQL API queries with an explicit LIMIT clause can exceed the maximum row limit set by CUBEJS_DB_QUERY_LIMIT. Queries without an explicit LIMIT still use CUBEJS_DB_QUERY_DEFAULT_LIMIT.

CUBESQL_SQL_NO_IMPLICIT_ORDER

If true, prevents adding implicit default ORDER BY clause for SQL API queries.

CUBEJS_MAX_SESSIONS

Specifies the maximum number of concurrent sessions (connections) to the SQL API and safeguards your Cube deployment from out-of-memory crashes when too many connections are attempted to be established.

CUBESQL_REWRITE_MAX_NODES

Specifies the maximum number of e-graph nodes that are allocated during the creation of a query plan in the SQL API. Should be increased if you get the following error: Error during rewrite: Can't find rewrite due to 10002 AST node limit reached.

CUBESQL_REWRITE_MAX_ITERATIONS

Specifies the maximum number of e-graph term rewriting iterations that are performed during the creation of a query plan in the SQL API.

CUBESQL_REWRITE_TIMEOUT

Specifies the maximum time, in seconds, that is allocated for the creation of a query plan in the SQL API.

CUBESQL_AUTH_EXPIRE_SECS

Number of seconds before session’s SQL API security context will be invalidated.

CUBEJS_DAX_CREATE_DATE_HIERARCHIES

If true, the DAX API will expose time dimensions as calendar hierarchies.

CUBE_XMLA_LANGUAGE

This variable is used to configure the locale for the MDX API. For example, to display currency values using the Netherlands locale (euro with comma as decimal separator), you can use either:

CUBE_MDX_CREATE_DATE_HIERARCHIES

If true, the MDX API will automatically create additional hierarchies for all time dimensions and organize them in a separate “Calendar” folder for each dimension.

CUBEJS_NESTED_FOLDERS_DELIMITER

Specifies the delimiter used to flatten the names of nested folder in views when visualization tools do not support nested folder structures. When set, nested folders will be presented at the root level with path-like names using the specified delimiter. For example, if set to /, a nested folder structure like the Customer Information folder with the Personal Details subfolder will be flattened to Customer Information / Personal Details at the root level.

CUBEJS_TELEMETRY

If true, then send telemetry to Cube.

CUBESTORE_METRICS_FORMAT

Define which metrics collector format.

CUBESTORE_METRICS_ADDRESS

Required IP address to send metrics.

CUBESTORE_METRICS_PORT

Required port to send where collector server accept UDP connections.

CUBEJS_TOUCH_PRE_AGG_TIMEOUT

If the refresh worker’s throughput isn’t sufficient and the Cube Refresh Worker can’t refresh every partition, Cube will start dropping partitions once the timeout is reached. For externally refreshed pre-aggregations, make sure each pre-aggregation is refreshed at least once within the specified timeout period.
The number of seconds without a touch before pre-aggregation is considered orphaned and marked for removal. Please see CUBEJS_DROP_PRE_AGG_WITHOUT_TOUCH to learn more.

CUBEJS_WEB_SOCKETS

If true, then use WebSocket for data fetching.

CUBEJS_TESSERACT_SQL_PLANNER

If true, enables Tesseract, the next-generation data modeling engine. Tesseract powers multi-stage calculations.
Tesseract is currently in preview.

CUBESTORE_AWS_ACCESS_KEY_ID

The Access Key ID for AWS. Required when using AWS S3.

CUBESTORE_AWS_SECRET_ACCESS_KEY

The Secret Access Key for AWS. Required when using AWS S3.

CUBESTORE_AWS_CREDS_REFRESH_EVERY_MINS

The number of minutes after which Cube Store should refresh AWS credentials. Required when using an AWS instance role.

CUBESTORE_AWS_WEB_IDENTITY_TOKEN_FILE

The path to an AWS web identity token file. When CUBESTORE_AWS_ACCESS_KEY_ID is not set and this variable is present, Cube Store authenticates to S3 using AWS Web Identity (for example, IRSA on Amazon EKS): it exchanges the token for temporary credentials via STS AssumeRoleWithWebIdentity and re-exchanges them when the token file changes.

CUBESTORE_AWS_ROLE_ARN

The ARN of the AWS IAM role to assume when using CUBESTORE_AWS_WEB_IDENTITY_TOKEN_FILE.

CUBESTORE_BIND_ADDR

The address/port pair for Cube Store’s MySQL-compatible interface.

CUBESTORE_DATA_DIR

A path on the local filesystem to store a local replica of the data. Must be unique on each node and different from CUBESTORE_REMOTE_DIR.

CUBESTORE_GCP_CREDENTIALS

A Base64-encoded JSON key for connecting to Google Cloud. Required when using Google Cloud Storage

CUBESTORE_GCP_KEY_FILE

The path to a JSON key file for connecting to Google Cloud. Required when using Google Cloud Storage.

CUBESTORE_GCS_BUCKET

The name of a bucket in GCS. Required when using GCS

CUBESTORE_GCS_SUB_PATH

The path in a GCS bucket to store pre-aggregations. Optional

CUBESTORE_HTTP_BIND_ADDR

The address/port pair for Cube Store’s HTTP interface.

CUBESTORE_HTTP_PORT

The port for Cube Store to listen to HTTP connections on. Ignored when CUBESTORE_HTTP_BIND_ADDR is set.

CUBESTORE_JOB_RUNNERS

The number of parallel tasks that process non-interactive jobs like data insertion, compaction etc.

CUBESTORE_LOG_LEVEL

The logging level for Cube Store. See also CUBEJS_LOG_LEVEL.

CUBESTORE_META_ADDR

The address/port pair for the Cube Store router node in the cluster.

CUBESTORE_META_PORT

The port for the Cube Store router node to listen for connections on. Ignored when CUBESTORE_META_ADDR is set.

CUBESTORE_MINIO_ACCESS_KEY_ID

The Access Key ID for MinIO. Required when using MinIO.

CUBESTORE_MINIO_BUCKET

The name of the bucket that you want to use MinIO. Required when using MinIO.

CUBESTORE_MINIO_SUB_PATH

The name of sub path (folder) inside the bucket that you want to use. Required when using MinIO.

CUBESTORE_MINIO_CREDS_REFRESH_EVERY_MINS

The number of minutes after which Cube Store should refresh MinIO credentials.

CUBESTORE_MINIO_REGION

The region of a bucket in AWS. Optional when using MinIO.

CUBESTORE_MINIO_SECRET_ACCESS_KEY

The Secret Access Key for MinIO. Required when using MinIO.

CUBESTORE_MINIO_SERVER_ENDPOINT

The MinIO server endpoint. Required when using MinIO.

CUBESTORE_NO_UPLOAD

If true, prevents uploading serialized pre-aggregations to cloud storage.

CUBESTORE_PORT

The port for Cube Store to listen to connections on. Ignored when CUBESTORE_BIND_ADDR is set.

CUBESTORE_QUERY_TIMEOUT

The timeout for SQL queries in seconds.

CUBESTORE_QUERY_CACHE_STALE_WHILE_REVALIDATE

Enables stale-while-revalidate behavior for Cube Store’s SQL result cache. When set to a number of seconds, a cached result that has expired is still served for up to that many seconds while the cache is refreshed in the background. Set to 0 to disable.

CUBESTORE_REMOTE_DIR

A path on the local filesystem to store metadata and datasets from all nodes as if it were remote storage. Not required if using GCS/S3. Not recommended for production usage

CUBESTORE_S3_BUCKET

The name of a bucket in AWS S3. Required when using AWS S3.

CUBESTORE_S3_REGION

| The region of a bucket in AWS S3. Required when using AWS S3.

CUBESTORE_S3_SUB_PATH

The path in a AWS S3 bucket to store pre-aggregations. Optional.

CUBESTORE_SELECT_WORKERS

The number of Cube Store sub-processes that handle SELECT queries.

CUBESTORE_SERVER_NAME

The full name and port number of the Cube Store node (either the router or a worker). Must be unique for each instance in the Cube Store cluster. Should be passed to the Cube Store router and to each Cube Store worker.

CUBESTORE_TELEMETRY

If true, then sends telemetry to Cube.

CUBESTORE_WAL_SPLIT_THRESHOLD

The maximum number of rows to keep in a single chunk of data right after insertion.

CUBESTORE_CHUNKS_COUNT_THRESHOLD

The number of chunks a partition can accumulate before Cube Store compacts them into a single chunk.

CUBESTORE_COMPACTION_READINESS_CHUNKS_THRESHOLD

The number of chunks at which a table’s partitions are considered ready during table creation. When set, it must not be lower than CUBESTORE_CHUNKS_COUNT_THRESHOLD, otherwise compaction would never reduce the number of chunks below this threshold. By default, it is not set.

CUBESTORE_WORKER_PORT

The port for Cube Store workers to listen to connections on. When set, the node will start as a Cube Store worker in the cluster

CUBESTORE_WORKERS

A comma-separated list of address/port pairs of Cube Store workers. Should be passed to the Cube Store router and to each Cube Store worker.
Used to implement stateless addressing within a Cube Store cluster. By analyzing CUBESTORE_WORKERS and CUBESTORE_SERVER_NAME, each node is able to determine its position within a Cube Store cluster. This allows each worker to know which pre-aggregation partitions it owns and how the load is distributed across all workers.

DEBUG_LOG

If true, enables debug logging.

PORT

The port for a Cube deployment to listen to API connections on.