Hasura CLI Configuration Reference
Introduction
Hasura CLI commands can get key values from flags, ENV variables, a
.env
file or the configuration file config.yaml
.
Precedence order is flag > ENV vars > .env
file values >
configuration file values > default.
Configuration file
In order for the Hasura CLI to work, the config.yaml
file is required (created automatically via the hasura init command). The configuration file can be configured with the following config keys:
version:
endpoint:
admin_secret:
admin_secrets:
insecure_skip_tls_verify:
certificate_authority:
access_key: #deprecated
api_paths:
query:
graphql:
config:
pg_dump:
version:
metadata_directory:
migrations_directory:
seeds_directory:
actions:
kind:
handler_webhook_baseurl:
codegen:
framework:
output_dir:
uri:
Config Key | Required | Supported since Config Version | Default value |
---|---|---|---|
version | false | 1 | 3 |
endpoint | true | 1 | http://localhost:8080 |
admin_secret | false | 1 | |
admin_secrets | false | 3 (added in v2.8.0 ) | |
access_key | false | 1 (Deprecated) | |
insecure_skip_tls_verify | false | 1 (added in v1.2.0 ) | false |
certificate_authority | false | 1 (added in v1.2.0 ) | |
api_paths | false | 1 | |
api_paths.query | false | 1 | v1/query |
api_paths.graphql | false | 1 | v1/graphql |
api_paths.config | false | 1 | v1alpha1/config |
api_paths.pg_dump | false | 1 | v1alpha1/pg_dump |
api_paths.version | false | 1 | v1/version |
metadata_directory | false | 2 | |
migrations_directory | false | 1 | migrations |
seeds_directory | false | 2 | |
actions | false | 2 | |
actions.kind | true | 2 | synchronous |
actions.handler_webhook_baseurl | true | 2 | http://localhost:3000 |
actions.codegen | false | 2 | |
actions.codegen.framework | true | 2 | |
actions.codegen.output_dir | true | 2 | |
actions.codegen.uri | false | 2 |
The above structure is for the config v3
file which is supported since v2.0.0-alpha.1
. Refer to this page on how to upgrade to config v2
.
Environment variables
The configuration can also be set in the form of environment variables:
ENV variable | Config file key | Description |
---|---|---|
HASURA_GRAPHQL_VERSION | version | Config version to be used. |
HASURA_GRAPHQL_ENDPOINT | endpoint | http(s) endpoint for Hasura GraphQL engine. |
HASURA_GRAPHQL_ADMIN_SECRET | admin_secret | Admin secret for Hasura GraphQL engine. |
HASURA_GRAPHQL_ADMIN_SECRETS | admin_secrets | Admin secrets for Hasura GraphQL engine (Cloud/EE only). eg: HASURA_GRAPHQL_ADMIN_SECRETS='["foo", "bar", "baz"]' |
HASURA_GRAPHQL_ACCESS_KEY | access_key | Access key for Hasura GraphQL engine. Note: Deprecated. Use admin secret instead. |
HASURA_GRAPHQL_INSECURE_SKIP_TLS_VERIFY | insecure_skip_tls_verify | Skip verifying SSL certificate for the Hasura endpoint. Useful if you have a self-singed certificate and don't have access to the CA cert. |
HASURA_GRAPHQL_CERTIFICATE_AUTHORITY | certificate_authority | Path to the CA certificate for validating the self-signed certificate for the Hasura endpoint. |
HASURA_GRAPHQL_API_PATHS_QUERY | api_paths.query | Schema/ metadata API endpoint. More details at Schema / metadata API (Deprecated). |
HASURA_GRAPHQL_API_PATHS_GRAPHQL | api_paths.graphql | GraphQL API endpoint. More details at GraphQL API. |
HASURA_GRAPHQL_API_PATHS_CONFIG | api_paths.config | Config API endpoint. More details at Config API`. |
HASURA_GRAPHQL_API_PATHS_PG_DUMP | api_paths.pg_dump | PG Dump API endpoint. More details at pg_dump API. |
HASURA_GRAPHQL_API_PATHS_VERSION | api_paths.version | Version API endpoint. More details at RESTified GraphQL API. |
HASURA_GRAPHQL_METADATA_DIRECTORY | metadata_directory | Defines the directory where the metadata files were stored. |
HASURA_GRAPHQL_MIGRATIONS_DIRECTORY | migrations_directory | Defines the directory where the migration files were stored. |
HASURA_GRAPHQL_SEEDS_DIRECTORY | seeds_directory | Defines the directory where the seed files were stored. |
HASURA_GRAPHQL_ACTIONS_KIND | actions.kind | Kind to be used for actions. |
HASURA_GRAPHQL_ACTIONS_HANDLER_WEBHOOK_BASEURL | actions.handler_webhook_baseurl | Webhook baseurl to be used for actions. |
HASURA_GRAPHQL_ACTIONS_CODEGEN_FRAMEWORK | actions.codegen.framework | Framework to codegen for actions. |
HASURA_GRAPHQL_ACTION_CODEGEN_OUTPUT_DIR | actions.codegen.output_dir | Defines the directory to create the codegen files. |
HASURA_GRAPHQL_ACTION_CODEGEN_URI | actions.codegen.uri | URI to codegen for actions. |
CLI flags
The above keys can be set using command-line flags as well. The corresponding flag, for the ENV vars or the configuration keys, can be found in the respective commands reference manual.
.env file
Alternatively, environment variables can also be read from the .env
file, created manually by the user, at the project root directory. A
global flag, --envfile
, is available to explicitly get the .env
file
created by the user, which defaults to .env
if no flag is provided.
It's important to note that this will not override an ENV variable that already exists.
Example:
hasura console --envfile production.env
The above command will read ENV vars from the production.env
file
present at the project root directory.
.env
file is supported in versions v1.2.0
and above.