Skip to main content

Configure

Marmot is configured using a YAML file or environment variables. All settings have sensible defaults so you only need to specify what you want to change.

Configuration Topics

Configuration File

By default, Marmot looks for config.yaml in the current directory. Use the --config flag to specify a different path.

database:
host: localhost
port: 5432
user: postgres
password: secret
name: marmot
server:
host: 0.0.0.0
port: 8080
logging:
level: info
format: json

Environment Variables

All configuration options can be set via environment variables using the MARMOT_ prefix with underscores separating nested keys. For example, database.host becomes MARMOT_DATABASE_HOST.

Database

Marmot requires PostgreSQL 14 or later. Ensure the database user has privileges to create tables and indexes.

KeyDescriptionDefaultEnvironment Variable
database.hostPostgreSQL hostlocalhostMARMOT_DATABASE_HOST
database.portPostgreSQL port5432MARMOT_DATABASE_PORT
database.userDatabase usernamepostgresMARMOT_DATABASE_USER
database.passwordDatabase password-MARMOT_DATABASE_PASSWORD
database.nameDatabase namemarmotMARMOT_DATABASE_NAME
database.sslmodeSSL mode (disable, require, verify-full)disableMARMOT_DATABASE_SSLMODE
database.maxConnsMaximum open connections10MARMOT_DATABASE_MAX_CONNS
database.idleConnsMinimum idle connections5MARMOT_DATABASE_IDLE_CONNS
database.connLifetimeConnection lifetime in minutes30MARMOT_DATABASE_CONN_LIFETIME

Server

KeyDescriptionDefaultEnvironment Variable
server.hostBind address0.0.0.0MARMOT_SERVER_HOST
server.portPort number8080MARMOT_SERVER_PORT

Logging

Marmot uses structured logging. Set the format to console for human-readable output during development.

KeyDescriptionDefaultEnvironment Variable
logging.levelLog level (debug, info, warn, error)infoMARMOT_LOGGING_LEVEL
logging.formatOutput format (json, console)jsonMARMOT_LOGGING_FORMAT

OpenLineage

KeyDescriptionDefaultEnvironment Variable
openlineage.auth.enabledRequire authentication for the OpenLineage endpointtrueMARMOT_OPENLINEAGE_AUTH_ENABLED