Configuration reference¶
Table of contents
Hasura CLI commands get key values from flags, ENV variables, .env
file and configuration file config.yaml
.
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:
access_key: #deprecated
api_paths:
query:
graphql:
config:
pg_dump:
version:
metadata_directory:
migrations_directory:
actions:
kind:
handler_webhook_baseurl:
codegen:
framework:
output_dir:
uri:
Config Key | Required | Supported since Config Version | Default value |
---|---|---|---|
version | false | 1 | 2 |
endpoint | true | 1 | http://localhost:8080 |
admin_secret | false | 1 | |
access_key | false | 1 (Deprecated) | |
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 |
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 |
Environment variables¶
The configuration can also be set in the form of environment variables:
ENV variable | Configuration 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_ACCESS_KEY |
access_key |
Access key for Hasura GraphQL engine. Note: Deprecated. Use admin secret instead. |
HASURA_GRAPHQL_API_PATHS_QUERY |
api_paths.query |
Schema/ metadata API endpoint. More details at Schema / metadata API. |
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 Version 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_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.
Note
Precedence order is flag > ENV vars > .env
file values > configuration file values > default.