Hasura CLI Configuration Reference¶
Table of contents
Introduction¶
Hasura CLI commands can get key values from flags, ENV variables, a .env
file
or the 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:
insecure_skip_tls_verify:
certificate_authority:
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) | |
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 |
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 |
Note
The above structure is for the config v2
file which is supported since v1.2.0
. Refer to this page on how to upgrade to config v2
.
A config v1
file of your Hasura project would look like:
endpoint: http://localhost:8080
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_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. |
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.
Supported from
.env
file is supported in versions v.1.2.0
and above.
Note
Precedence order is flag > ENV vars > .env
file values > configuration file values > default.