-{% from 'macros/common_macros.lua.j2' import modules_load %}
+{% from 'macros/common_macros.lua.j2' import quotes, modules_load %}
-{% macro monitoring_control_socket() -%}
+{% macro monitoring_control_socket(path) -%}
--- control socket location
local ffi = require('ffi')
local id = os.getenv('SYSTEMD_INSTANCE')
else
-- Bind to control socket in CWD (= rundir in config)
-- FIXME replace with relative path after fixing https://gitlab.nic.cz/knot/knot-resolver/-/issues/720
- local path = '{{ cwd }}/control/'..id
+ local path = {{ quotes(path) }} .. '/control/'.. id
log_warn(ffi.C.LOG_GRP_SYSTEM, 'path = ' .. path)
local ok, err = pcall(net.listen, path, nil, { kind = 'control' })
if not ok then
-- MONITORING configuration
--------------------------------------------------------------------------------
-{{ monitoring_control_socket() }}
+{{ monitoring_control_socket(cwd) }}
{% if cfg.monitoring.enabled == "always" %}
{{ modules_load('stats') }}
{% endif %}
-{{ monitoring_collect_lazy_statistics }}
+{{ monitoring_collect_lazy_statistics() }}
-{{ monitoring_collect_statistics }}
+{{ monitoring_collect_statistics() }}