Configuration
Ferro Sentry reads configuration from environment variables or a config.toml file. Environment variables always take priority over the config file.
Environment variables
| Variable | Required | Default | Description |
|---|---|---|---|
| FERROSENTRY_TOKEN | Yes | — | Agent authentication token |
| FERROSENTRY_ENDPOINT | No | 127.0.0.1:4317 | Local Nexus Agent gRPC endpoint |
| FERROSENTRY_AUDIT_INTERVAL | No | 300 | Posture audit interval in seconds |
| FERROSENTRY_LOG_LEVEL | No | info | Log verbosity: trace, debug, info, warn, error |
| FERROSENTRY_BUFFER_PATH | No | /var/lib/ferrosentry/buffer | Local offline buffer directory |
| FERROSENTRY_RULES_DIR | No | /etc/ferrosentry/rules | Custom YAML rules directory |
Config file
Alternatively, place a config.toml file at one of the following locations:
/etc/ferrosentry/config.toml(Linux, system-wide)~/.config/ferrosentry/config.toml(Linux, user-level)C:\ProgramData\ferro-sentry\config.toml(Windows)
config.toml
# config.toml
token = "fs_live_xxxxxxxxxxxx"
endpoint = "127.0.0.1:4317"
audit_interval = 300
log_level = "info"
buffer_path = "/var/lib/ferrosentry/buffer"Never commit
config.tomlto version control — it contains your security token. The installer's default .gitignore excludes it, but double-check before pushing to a public repository.Priority order
Configuration is resolved in this order (highest priority first):
- Environment variables
config.tomlfile- Built-in defaults
Setting via systemd
To set environment variables without modifying the config file, use a systemd override:
systemd override
# Create override directory
mkdir -p /etc/systemd/system/ferrosentry.service.d
# Create override file
cat > /etc/systemd/system/ferrosentry.service.d/override.conf << EOF
[Service]
Environment="FERROSENTRY_LOG_LEVEL=debug"
Environment="FERROSENTRY_AUDIT_INTERVAL=60"
EOF
systemctl daemon-reload && systemctl restart ferrosentry