Configuration

OxiPulse reads configuration from environment variables or a config.toml file. Environment variables always take priority over the config file.

Environment variables

VariableRequiredDefaultDescription
OXIPULSE_TOKENYesAgent authentication token
OXIPULSE_ENDPOINTNohttps://ingest.oxipulse.devOTLP gRPC endpoint
OXIPULSE_INTERVAL_SECSNo10Metric collection interval in seconds
OXIPULSE_LOG_LEVELNoinfoLog verbosity: trace, debug, info, warn, error
OXIPULSE_BUFFER_PATHNo/var/lib/oxipulse/bufferLocal offline buffer directory
OXIPULSE_BUFFER_MAX_MBNo100Max offline buffer size in MB

Config file

Alternatively, place a config.toml file at one of the following locations:

  • /etc/oxipulse/config.toml (Linux, system-wide)
  • ~/.config/oxipulse/config.toml (Linux, user-level)
  • C:\ProgramData\OxiPulse\config.toml (Windows)
config.toml
# config.toml
token          = "op_live_xxxxxxxxxxxx"
endpoint       = "https://ingest.oxipulse.dev"
interval_secs  = 10
log_level      = "info"
buffer_path    = "/var/lib/oxipulse/buffer"
buffer_max_mb  = 100
Never commit config.toml to version control — it contains your auth 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):

  1. Environment variables
  2. config.toml file
  3. 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/oxipulse.service.d

# Create override file
cat > /etc/systemd/system/oxipulse.service.d/override.conf << EOF
[Service]
Environment="OXIPULSE_LOG_LEVEL=debug"
Environment="OXIPULSE_INTERVAL_SECS=5"
EOF

systemctl daemon-reload && systemctl restart oxipulse