Self-hosted
Vizzly Query Engine
Environment variables

Environment variables

Connection variables

VIZZLY_CLIENT

Set this environment variable value to "bigquery".

VIZZLY_BIGQUERY_PROJECT_ID

Set the Big Query project ID to use in the connection to your BigQuery database.

VIZZLY_BIGQUERY_REGION

Set the region in which your BigQuery database is deployed in

VIZZLY_BIGQUERY_CREDENTIALS

The recommended approach to providing your BigQuery credentials. The value should be a JSON stringified and base 64 encoded string of your Google Cloud Service Account JSON object.

VIZZLY_BIGQUERY_KEY_FILENAME

Optionally override the location of your key file. The default location is /etc/vizzly/bq/service-account.json.

The preferred option is to use the VIZZLY_BIGQUERY_CREDENTIALS variable, as this will avoid additionally needing to mount your credentials file onto the file system.

Cloud provider variables

VIZZLY_AWS_SECRETS_MANAGER_SECRET_ID

Load secret environment variables from AWS Secrets Manager (opens in a new tab).

Provide the ID of the secret stored within the same region as the running Vizzly Query Engine, to load secret environment variables at runtime.

The secret should be in a JSON-formatted string, for example, a secret storing a postgres database password will be;

{"VIZZLY_POSTGRES_PASSWORD":"<< YOUR PASSWORD >>"}

Be certain that the container has permission to fetch the secret from AWS Secrets Manager.

Static Vizzly Configs

VIZZLY_CONFIG_GITHUB_REPO

To load your config directly from GitHub, use this environment variable to provide the GitHub repository.

For example; my-organisation/my-repo


VIZZLY_CONFIG_GITHUB_PATH

To load your config directly from GitHub, use this environment variable to provide the path to the vizzly.config.json file in the repository.

For example; folder/subfolder/vizzly-config.json


VIZZLY_CONFIG_GITHUB_TOKEN

To load your Vizzly config file directly from GitHub, use this environment variable to authenticate the request for the vizzly.config.json file.

You will need to generate this token value on GitHub.

PORT

The default port the query engine runs on is port 8000. You can change this using the PORT environment variable.


VIZZLY_BASE_PATH

This changes the base path of the Vizzly query engine. For example, you might have a routing layer that matches requests for /vizzly-query-engine/*, and forwards them to the query engine. In which case, you'd set this value to /vizzly-query-engine so the requests match the path matchers in the query engine.

If you need to support dynamic base paths, this is supported by using path matchers and indexes starting at 1. For example, a base path of;

/:1/:2/:3

will match requests sent to all of the following;

/blue/green/red/status
/duck/dog/chicken/status

This environment variable is not required and defaults to ''.


LOG_LEVEL

Change the log level from the default warning level. Valid logging levels are "debug", "info", "warning" and "error".


VIZZLY_MIN_POOL_SIZE

Set the minimum connection pool size. The value must be an integer.


VIZZLY_MAX_POOL_SIZE

Set the minimum connection pool size. The value must be an integer.


VIZZLY_PUBLIC_KEYS

Provide your Vizzly public key through an environment variable, rather than the publicKeyCertificates field of the Vizzly config.

The value should be formatted as a JSON array. For example, if you had the following public key;

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQJqQ1P+MyW4E/32pXvkxQiOVT0IW
1CwdEzN2D5+KtIK1qyUpMFiH2oBc8BIo8w3AvID0cOrD5+KEKXSIbw9Nig==
-----END PUBLIC KEY-----

then it would be exported in this format as an environment variable.

export VIZZLY_PUBLIC_KEYS='["-----BEGIN PUBLIC KEY-----\r\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQJqQ1P+MyW4E/32pXvkxQiOVT0IW\r\n1CwdEzN2D5+KtIK1qyUpMFiH2oBc8BIo8w3AvID0cOrD5+KEKXSIbw9Nig==\r\n-----END PUBLIC KEY-----\r\n"]'

The Vizzly CLI command vizzly format-public-pem-for-env will convert your public PEM file into the format required for the VIZZLY_PUBLIC_KEYS environment variable.


VIZZLY_CONFIG_FILE

Changes the path at which the config file resides inside the running container.

This environment variable is not required, and defaults to /etc/vizzly/vizzly.config.json.


VIZZLY_RESULTS_CACHE_STALE_TTL_IN_SECONDS

In seconds, how long should we serve a stale result before removing it from the cache?


VIZZLY_RESULTS_CACHE_FRESH_TTL_IN_SECONDS

In seconds, how long should we serve a result from the cache before considering it stale?


VIZZLY_RESULTS_CACHE_MAX_ITEMS

How many results should we store in the cache?


VIZZLY_CONFIG_CACHE_FRESH_TTL_IN_SECONDS

In seconds, how long should we store a config in the cache, before considering it stale?


VIZZLY_CONFIG_CACHE_STALE_TTL_IN_SECONDS

In seconds, how long should we use a stale config before removing it from the cache?


VIZZLY_DYNAMIC_CONFIG_AUTH_VERIFY_HASH

Hash to verify an API key used for the Vizzly Query Engine.

To generate this value along with the API key, run the command vizzly dynamic-api-key.


VIZZLY_RESULTS_CACHE_MAX_RESULT_SIZE

Limit the max cache item size of results. This number is calculated by multiplying number of rows, by number of fields in each row.


VIZZLY_PROJECT_API_KEY

API Key used to access resources for a Vizzly project. This value is created on the projects page on the Vizzly app, and will only be shown to you once when generated!

This value should be stored securely.


VIZZLY_ENCRYPTION_SECRET

Encryption key to enable various Query Engine features such as direct sign-in and storing the config on the Vizzly API. This can be generated using the vizzly encryption-secret CLI command.

This value should be unique per project, and stored securely.


VIZZLY_PROJECT_ID

This is your Vizzly Project ID! It can be found on your project settings page on the Vizzly app (opens in a new tab), and begins with prj_.


VIZZLY_SIGN_IN_FEATURE

Disable the sign-in feature by setting this value to DISABLED.

This will block all sign-in requests through the CLI and username/password combinations to sign in to the query engine, even if they are valid.


VIZZLY_ALLOW_ORIGIN

Control the Access-Control-Allow-Origin response header by providing a comma-separated list of origins to allow.

By default, the value is "*".


VIZZLY_DASHBOARD_ENCRYPTION_FEATURE

Use this environment variable to disable the dashboard encryption feature.

By default, encryption is enabled. To disable it, set the value to DISABLED


VIZZLY_REMOTE_CONFIG_ENDPOINT

Set an absolute URL where we can load Dynamic Query Engine configs from.

To learn more about its usage, follow the documentation for remote configs.