Configuration Schema

Complete reference for Gonzo's configuration file format. This guide documents all available configuration options and their valid values.

Configuration File Location

Default location: ~/.config/gonzo/config.yml

Custom location: Specify with --config flag

gonzo --config /path/to/config.yml

File Format

Gonzo uses YAML format for configuration files.

Basic structure:

# Input configuration
files: []
follow: false

# Performance settings
update-interval: 1s
log-buffer: 1000
memory-size: 10000

# Display settings
skin: default

# AI configuration
ai-model: ""

# OTLP receiver
otlp:
  enabled: false
  grpc-port: 4317
  http-port: 4318

Complete Schema

Input Configuration

files

Type: array of strings Default: [] (empty, uses stdin) Description: List of log files or glob patterns to read

Notes:

  • Supports glob patterns

  • Can specify multiple files

  • Paths can be relative or absolute

  • Empty array uses stdin

follow

Type: boolean Default: false Description: Follow log files in real-time (like tail -f)

Notes:

  • Only applies to file input

  • When true, watches files for new content

  • Useful for monitoring live logs

Performance Settings

update-interval

Type: duration Default: "1s" Valid values: Any Go duration string Description: How often the dashboard updates

Examples:

  • "500ms" - Half second

  • "1s" - One second (default)

  • "2s" - Two seconds

  • "5s" - Five seconds

  • "10s" - Ten seconds

Notes:

  • Lower values = more responsive but higher CPU

  • Higher values = lower CPU but less responsive

  • Can be changed at runtime with u/U keys

log-buffer

Type: integer Default: 1000 Valid range: 1 to 100000 Description: Maximum number of log entries to keep in memory

Notes:

  • Circular buffer (old logs evicted when full)

  • Higher values use more memory

  • Lower values may lose old logs faster

  • Consider log volume when setting

memory-size

Type: integer Default: 10000 Valid range: 100 to 1000000 Description: Maximum number of words to track for frequency analysis

Notes:

  • Affects Word Frequency panel

  • Higher values track more unique words

  • Lower values use less memory

  • LRU eviction when limit reached

Display Settings

skin

Type: string Default: "default" Valid values: Any installed skin name Description: Color scheme/theme to use

Built-in skins:

Dark themes:

  • default - Gonzo default dark

  • controltheory-dark - ControlTheory branded

  • dracula - Dracula theme

  • gruvbox - Gruvbox dark

  • monokai - Monokai

  • nord - Nord theme

  • solarized-dark - Solarized dark

Light themes:

  • controltheory-light - ControlTheory branded

  • github-light - GitHub light

  • solarized-light - Solarized light

  • vs-code-light - VS Code light

  • spring - Spring theme

Notes:

  • Custom skins go in ~/.config/gonzo/skins/

  • Can be changed via command line: --skin=NAME

AI Configuration

ai-model

Type: string Default: "" (auto-select best available) Description: AI model to use for log analysis

Common values:

  • "" - Auto-select (recommended)

  • "gpt-4" - OpenAI GPT-4

  • "gpt-3.5-turbo" - OpenAI GPT-3.5

  • "llama3" - Ollama Llama 3

  • "mistral" - Ollama Mistral

  • Model names from your AI provider

Notes:

  • Requires OPENAI_API_KEY environment variable

  • Can be overridden with --ai-model flag

  • Can be changed at runtime with m key

OTLP Receiver Configuration

otlp.enabled

Type: boolean Default: false Description: Enable OTLP log receiver

Notes:

  • Starts gRPC and HTTP servers

  • Required for receiving OTLP logs

  • Can be enabled via --otlp-enabled flag

otlp.grpc-port

Type: integer Default: 4317 Valid range: 1024 to 65535 Description: Port for OTLP gRPC receiver

Notes:

  • Standard OTLP port is 4317

  • Change if port conflict exists

  • Requires otlp.enabled: true

otlp.http-port

Type: integer Default: 4318 Valid range: 1024 to 65535 Description: Port for OTLP HTTP receiver

Notes:

  • Standard OTLP HTTP port is 4318

  • Change if port conflict exists

  • Requires otlp.enabled: true

Advanced Configuration

test-mode

Type: boolean Default: false Description: Run without TTY for testing

Notes:

  • For automated testing only

  • Disables TUI

  • Not for normal use

formats-dir

Type: string Default: "~/.config/gonzo/formats" Description: Directory containing custom format definitions

Notes:

  • Override default formats directory

  • Must contain .yaml format files

  • Path can use ~ for home directory

Complete Example

Validation

Schema Validation

Gonzo validates configuration on startup:

Valid config: Gonzo starts normally Invalid config: Error message explains issue

Common validation errors:

  • Invalid YAML syntax

  • Unknown configuration keys

  • Invalid value types

  • Out-of-range values

Testing Configuration

Test your configuration:

Environment Variable Overrides

Environment variables override config file:

Config Key
Environment Variable

files

GONZO_FILES

follow

GONZO_FOLLOW

update-interval

GONZO_UPDATE_INTERVAL

log-buffer

GONZO_LOG_BUFFER

memory-size

GONZO_MEMORY_SIZE

ai-model

GONZO_AI_MODEL

otlp.enabled

GONZO_OTLP_ENABLED

otlp.grpc-port

GONZO_OTLP_GRPC_PORT

otlp.http-port

GONZO_OTLP_HTTP_PORT

See Environment Variables for details.

Command Line Flag Overrides

Command line flags override both config file and environment variables:

Priority (highest to lowest):

  1. Command line flags

  2. Environment variables

  3. Configuration file

  4. Default values

Configuration Best Practices

Production Use

Development Use

Resource-Constrained

OTLP Receiver

Troubleshooting

Config Not Loading

Symptom: Settings ignored

Checks:

Invalid YAML

Symptom: Parse error on startup

Solution:

  • Check indentation (use spaces, not tabs)

  • Verify colons have spaces after them

  • Ensure strings with special chars are quoted

  • Use YAML validator online

Values Not Applied

Check priority:

  1. Is there a command line flag overriding?

  2. Is there an environment variable set?

  3. Is the config file being loaded?

  • Environment Variables - Environment variable reference

  • CLI Reference - Command line options

  • Configuration File Guide - Detailed configuration guide

circle-info

Tip: Start with the example configuration and modify only what you need. This ensures valid syntax and reasonable defaults.

circle-exclamation

Last updated