Configuration
Configuration
Nvelox uses a single YAML configuration file. By default it looks for nvelox.yaml in the current directory, or pass a path with --config.
Top-Level Sections
server— Process settings (pid_file, user, group, workers)listeners— Incoming connection endpointsbackends— Upstream server poolslogging— Access and error loggingmetrics— Prometheus metrics endpointadmin— Admin API serverinclude— Glob path for additional config files
Hot Reload
Send SIGHUP to the nvelox process to reload config without dropping connections. The new config is validated before swap — if it fails validation, the old config stays active.
Tip: You can also trigger a reload via the Admin API at
POST /api/v1/reload.
nvelox.yaml — Full Example
# nvelox.yaml — Complete configuration example
version: "2"
server:
pid_file: /var/run/nvelox/nvelox.pid
logging:
level: info
access_log: /var/log/nvelox/access.log
error_log: /var/log/nvelox/error.log
metrics:
enabled: true
bind: ":9090"
path: /metrics
admin:
enabled: true
bind: "127.0.0.1:9091"
listeners:
- name: http_public
protocol: http
bind: ":8080"
- name: https_public
protocol: https
bind: ":8443"
tls:
cert: /etc/nvelox/tls/server.crt
key: /etc/nvelox/tls/server.key
backends:
- name: app_servers
balance: roundrobin
servers:
- "10.0.1.10:8080"
- "10.0.1.11:8080"
health_check:
active:
type: http
interval: 10s
timeout: 5s
path: /healthz
include: /etc/nvelox/conf.d/*.yaml
Hot reload
# Reload via signal
kill -HUP $(pidof nvelox)
# Or via admin API
curl -X POST http://127.0.0.1:9091/api/v1/reload