> For the complete documentation index, see [llms.txt](https://atd-dts.gitbook.io/moped-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atd-dts.gitbook.io/moped-documentation/dev-guides/hasura/hasura-migrations/configuration-files.md).

# Configuration Files

After you have installed the CLI, you will need to configure the different environments.

## What is a configuration file?

Think of the Hasura CLI as a command-line database client. Normally, with database clients you need to provide the URL of the database, the name of the database you want to use, the user you want to authenticate as, etc.

In this sense, Hasura is no different. It also needs to know where the Hasura servers are and it needs to be able to authenticate (among other things). To accomplish this, Hasura provides different mechanisms [including env files and CLI flags, but our choice is to use YAML files](https://hasura.io/docs/2.0/hasura-cli/config-reference/).

{% hint style="info" %}
**Context**: The configuration files are generated by running the `hasura init` command, this is not necessary for you, since we already have created them for this project.
{% endhint %}

## The local configuration file

There can be one configuration file for each environment, but we only need to have one file called `config.yaml`. This file is automatically generated when you follow our [guide to use our local cluster helper script](https://github.com/cityofaustin/atd-moped/tree/main/moped-database#3-the-hasura-cluster-helper). It follows the following format:

```
version: 3
endpoint: http://localhost:8082
metadata_directory: metadata
actions:
  kind: synchronous
  handler_webhook_baseurl: http://localhost:3000
admin_secret: hasurapassword
```
