This document describes how heplify resolves configuration from:
- CLI flags
HEPLIFY_*environment variables- JSON config file (
heplify.json)
-no-configdisables config-file loading completely:- ignores
-config - ignores
HEPLIFY_CONFIG - uses CLI-only runtime configuration
- ignores
- Without
-no-config:- if
-configis set, that file is loaded - otherwise
HEPLIFY_CONFIGis used as file path fallback HEPLIFY_*overrides are applied on top of the loaded file- explicitly provided CLI flags override resulting config values
- if
- Prefix:
HEPLIFY_ - Nested objects use
_, for example:HEPLIFY_LOG_SETTINGS_LEVELHEPLIFY_API_SETTINGS_TLS
- Array items use
__<index>__, for example:HEPLIFY_SOCKET__0__DEVICEHEPLIFY_TRANSPORT__1__HOSTHEPLIFY_FILTER_INCLUDE__0
| CLI flag | Config key | ENV key |
|---|---|---|
-i |
socket[].device |
HEPLIFY_SOCKET__N__DEVICE |
-t |
socket[].socket_type |
HEPLIFY_SOCKET__N__SOCKET_TYPE |
-s |
socket[].snap_len |
HEPLIFY_SOCKET__N__SNAP_LEN |
-b |
socket[].buffer_size_mb |
HEPLIFY_SOCKET__N__BUFFER_SIZE_MB |
-promisc |
socket[].promisc |
HEPLIFY_SOCKET__N__PROMISC |
-pi |
socket[].promisc_interfaces |
HEPLIFY_SOCKET__N__PROMISC_INTERFACES__N |
-bpf |
socket[].bpf_filter |
HEPLIFY_SOCKET__N__BPF_FILTER |
-m |
socket[].capture_mode |
HEPLIFY_SOCKET__N__CAPTURE_MODE__N |
-vlan |
socket[].vlan |
HEPLIFY_SOCKET__N__VLAN |
-erspan |
socket[].erspan |
HEPLIFY_SOCKET__N__ERSPAN |
-rf |
socket[].pcap_file |
HEPLIFY_SOCKET__N__PCAP_FILE |
-fg |
socket[].fanout_id |
HEPLIFY_SOCKET__N__FANOUT_ID |
-fw |
socket[].fanout_workers |
HEPLIFY_SOCKET__N__FANOUT_WORKERS |
-tcpassembly |
socket[].tcp_reasm |
HEPLIFY_SOCKET__N__TCP_REASM |
-sipassembly |
socket[].sip_reasm |
HEPLIFY_SOCKET__N__SIP_REASM |
-ipfragment |
socket[].ipfragments |
HEPLIFY_SOCKET__N__IPFRAGMENTS |
-hs |
transport[] (rebuild from CLI target list) |
HEPLIFY_TRANSPORT__N__{HOST,PORT,TRANSPORT,...} |
-nt |
transport[].transport |
HEPLIFY_TRANSPORT__N__TRANSPORT |
-skipverify |
transport[].skip_verify |
HEPLIFY_TRANSPORT__N__SKIP_VERIFY |
-keepalive |
transport[].keepalive |
HEPLIFY_TRANSPORT__N__KEEPALIVE |
-tcpsendretries |
transport[].max_retries |
HEPLIFY_TRANSPORT__N__MAX_RETRIES |
-hin |
collector_settings.{active,proto,host,port} |
HEPLIFY_COLLECTOR_SETTINGS_{ACTIVE,PROTO,HOST,PORT} |
-l |
log_settings.level |
HEPLIFY_LOG_SETTINGS_LEVEL |
-S |
log_settings.stdout |
HEPLIFY_LOG_SETTINGS_STDOUT |
-log-format |
log_settings.json |
HEPLIFY_LOG_SETTINGS_JSON |
-log-payload |
log_settings.log_payload |
HEPLIFY_LOG_SETTINGS_LOG_PAYLOAD |
-dd |
sip_settings.deduplicate + hep_settings.deduplicate |
HEPLIFY_SIP_SETTINGS_DEDUPLICATE + HEPLIFY_HEP_SETTINGS_DEDUPLICATE |
-dim |
sip_settings.discard_methods |
HEPLIFY_SIP_SETTINGS_DISCARD_METHODS__N |
-diip |
sip_settings.discard_ips |
HEPLIFY_SIP_SETTINGS_DISCARD_IPS__N |
-disip |
sip_settings.discard_src_ips |
HEPLIFY_SIP_SETTINGS_DISCARD_SRC_IPS__N |
-didip |
sip_settings.discard_dst_ips |
HEPLIFY_SIP_SETTINGS_DISCARD_DST_IPS__N |
-fi |
filter_include |
HEPLIFY_FILTER_INCLUDE__N |
-di |
filter_exclude |
HEPLIFY_FILTER_EXCLUDE__N |
-d |
debug_selectors |
HEPLIFY_DEBUG_SELECTORS__N |
-disable-defrag |
debug_settings.disable_ip_defrag |
HEPLIFY_DEBUG_SETTINGS_DISABLE_IP_DEFRAG |
-disable-tcp-reasm |
debug_settings.disable_tcp_reassembly |
HEPLIFY_DEBUG_SETTINGS_DISABLE_TCP_REASSEMBLY |
-wf |
pcap_settings.write_file |
HEPLIFY_PCAP_SETTINGS_WRITE_FILE |
-rt |
pcap_settings.rotate_minutes |
HEPLIFY_PCAP_SETTINGS_ROTATE_MINUTES |
-zf |
pcap_settings.compress |
HEPLIFY_PCAP_SETTINGS_COMPRESS |
-rs |
pcap_settings.max_speed |
HEPLIFY_PCAP_SETTINGS_MAX_SPEED |
-lp |
pcap_settings.loop_count |
HEPLIFY_PCAP_SETTINGS_LOOP_COUNT |
-eof-exit |
pcap_settings.eof_exit |
HEPLIFY_PCAP_SETTINGS_EOF_EXIT |
-hep-buffer-activate |
buffer_settings.enable |
HEPLIFY_BUFFER_SETTINGS_ENABLE |
-hep-buffer-file |
buffer_settings.file |
HEPLIFY_BUFFER_SETTINGS_FILE |
-hep-buffer-max-size |
buffer_settings.max_size |
HEPLIFY_BUFFER_SETTINGS_MAX_SIZE |
-hep-buffer-debug |
buffer_settings.debug |
HEPLIFY_BUFFER_SETTINGS_DEBUG |
-script-file |
script_settings.file + script_settings.active |
HEPLIFY_SCRIPT_SETTINGS_FILE + HEPLIFY_SCRIPT_SETTINGS_ACTIVE |
-script-hep-filter |
script_settings.hep_filter |
HEPLIFY_SCRIPT_SETTINGS_HEP_FILTER |
-prometheus |
prometheus_settings.{active,host,port} |
HEPLIFY_PROMETHEUS_SETTINGS_{ACTIVE,HOST,PORT} |
-api |
api_settings.{active,host,port} |
HEPLIFY_API_SETTINGS_{ACTIVE,HOST,PORT} |
-api-user |
api_settings.username |
HEPLIFY_API_SETTINGS_USERNAME |
-api-pass |
api_settings.password |
HEPLIFY_API_SETTINGS_PASSWORD |
-api-tls |
api_settings.tls |
HEPLIFY_API_SETTINGS_TLS |
-api-cert |
api_settings.cert_file |
HEPLIFY_API_SETTINGS_CERT_FILE |
-api-key |
api_settings.key_file |
HEPLIFY_API_SETTINGS_KEY_FILE |
-collectonlysip |
hep_settings.collect_only_sip |
HEPLIFY_HEP_SETTINGS_COLLECT_ONLY_SIP |
-replacetoken |
hep_settings.replace_token |
HEPLIFY_HEP_SETTINGS_REPLACE_TOKEN |
-hi |
system_settings.node_id |
HEPLIFY_SYSTEM_SETTINGS_NODE_ID |
-hn |
system_settings.node_name |
HEPLIFY_SYSTEM_SETTINGS_NODE_NAME |
-hp |
system_settings.node_pw |
HEPLIFY_SYSTEM_SETTINGS_NODE_PW |
-no-confighas noHEPLIFY_*equivalent by design.HEPLIFY_CONFIGis only a file-path selector (like implicit-config), not a config key override.HEPLIFY_BUFFER_SETTINGS_MAX_SIZEsupports both plain bytes (e.g.104857600) and unit suffixes (KB,MB,GB,TB), matching CLI behavior.