Configuration

All limits.yaml and messages.yaml keys, their defaults, and how to change them.

ANNÁVE CLI embeds two YAML configuration files at build time. To change a default, edit the file and rebuild the binary.

bash
# Edit a config file
vim internal/shared/config/limits.yaml

# Rebuild
go build -o annave ./cmd/annave

There is no runtime config file or environment variable for these values. A binary behaves identically on every machine without any external configuration.

limits.yaml

Controls per-module resource limits. File location: internal/shared/config/limits.yaml.

log

yaml
log:
  max_file_size_mb: 256
  max_lines: 1000000
KeyDefaultWhat it controls
max_file_size_mb256Maximum log file size. Files larger than this are rejected with ERR_INVALID_INPUT.
max_lines1,000,000Maximum lines read. Lines beyond this are silently truncated.

health

yaml
health:
  timeout_seconds: 10
  max_targets: 50
KeyDefaultWhat it controls
timeout_seconds10Per-target timeout cap. The --timeout flag is clamped to this value.
max_targets50Maximum targets per run. Targets beyond this are ignored.

doc

yaml
doc:
  max_file_size_mb: 10
  max_results: 50
  max_depth: 10
KeyDefaultWhat it controls
max_file_size_mb10Files larger than this are skipped during indexing.
max_results50Maximum search results returned.
max_depth10Maximum directory depth walked during indexing.

cleanup

yaml
cleanup:
  timeout_seconds: 30
  max_resources: 1000
KeyDefaultWhat it controls
timeout_seconds30Context deadline for the entire scan. Increase for large clusters with slow API responses.
max_resources1000Maximum idle resources returned. Resources beyond this cap are silently dropped.

messages.yaml

Maps error codes to human-readable messages. File location: internal/shared/config/messages.yaml.

CodeDefault message
ERR_NOT_IMPLEMENTEDthis module is in development and not yet available
ERR_INVALID_INPUTinvalid input provided
ERR_IO_FAILUREfailed to read or write data
ERR_TIMEOUToperation timed out
ERR_PERMISSIONpermission denied
ERR_NOT_FOUNDresource not found
ERR_PARSE_FAILEDfailed to parse input

The ERR_* code values are referenced in Go source — do not rename them. Only the message strings are safe to edit.

Build-time vs runtime

There is no runtime configuration by design. If you need different limits for different environments (tighter limits in CI, more generous limits locally), build two separate binaries with different YAML values. go build takes under 5 seconds and the binary is approximately 20 MB.