daemons: Add daemonize option without sdbus++

Current daemons use sdbus++ library to start an event loop and keep
going until SIGTERM against the process is issued.
This is fine so far, however, in the next patch we introduce
veliad-hardware daemon, which (so far) does not use sdbus++ and therefore
it does not depend on the library.

We need the veliad-hardware daemon just to keep itself running, all the
Sysrepo background stuff is happening in the Sysrepo threads.

This is the same use case we encountered in the
lldp-systemd-networkd-sysrepo project and this patch introduces the same
code that achieves that.

Change-Id: I76ef6bf119361b0c6b3f763acb6bce4f8c620a2f
3 files changed
tree: 9f995decabb4a9d02ea2d626862d8e694952f588
  1. .clang-format
  2. .gitmodules
  3. .zuul.CzechLight-internal.yaml
  4. .zuul.public.yaml
  5. CMakeLists.txt
  6. Doxyfile.in
  7. LICENSE
  8. LICENSE.md
  9. README.md
  10. ci/
  11. cmake/
  12. docs/
  13. src/
  14. tests/
  15. yang/
README.md

Health tracking for embedded devices running Linux

This software tracks health of an embedded device which runs Linux with systemd.

Velia tracks health of systemd units. In case some of them are failing, the system is considered unhealthy. You can disable monitoring of some units by using --systemd-ignore-unit CLI flags. For example, to disable monitoring unit sshd.service you should start velia with --systemd-ignore-unit=sshd.service. In order to disable multiple units use the flag multiple times.

By default, the health of state is shown by flashing certain LEDs. This is however customizable by using your own callbacks.