; all you need to know: https://docs.python.org/3/library/configparser.html ... ;) ; manifest: ; - no inline comments so every available character can be used in values ; - values can be overridden in each monitor ; - file names are not important but section names and key names. ; - comments can be inserted using ',' or '#' [linspector] ; report core errors to the following users error_receivers = admin@example.com log_file = ~/code/linspector/log/uplink.log log_level= verbose log_count = 5 log_size = 10485760 pid_file = /var/run/user/1000/linspector.pid ; default delimiters '=' and ':' should be changed to ',' to be more native plugins = HTTPServer:MariaDB ; maybe the run_mode is obsolete because this will be a daemon but maybe it is useful for one time execution? ; in uplink the available run_modes were cron, daemon and foreground run_mode = cron ; every notification can be configured in it's own ini file in etc/notifications; there no notification name as prefix ; is needed. see email example. [notifications] ; some values can be overridden in each defined monitor sms_receivers = +34324234234:+324242344 sms_configuration_file = ~/code/linspector/etc/gammurc ; retry to send interval and number of retries if something failed sms_resend = 10 sms_resend_count = 5 email_resend = 10 ; every plugin can be configured in it's own ini file in etc/plugins; there no plugin name as prefix is needed. see ; httpserver example. [plugins] mariadb_database = linspector mariadb_host = 10.0.0.254 mariadb_password = 3qx7HfrxGNM83lqN mariadb_port": 3306 mariadb_user = uplink speedtest_interval = 3600 speedtest_url = https://go.microsoft.com/fwlink/?Linkid=850641 ; if types can or must be configured before use; for now no use case seen. ; every type can be configured in it's own ini file in etc/types; there no type name as prefix is not needed. [services] foo = bar [tasks] bar = foo