agent icon indicating copy to clipboard operation
agent copied to clipboard

Move file format handling out of systemdunit.rs

Open siegfriedweber opened this issue 4 years ago • 0 comments

The module provider.systemdmanager.systemdunit is complex and hard to test because the service unit logic and the underlying INI file format are merged together. For more popular file formats like XML, JSON, and YAML it is obvious to use a separate module or library. The same can be done for the INI file format.

Furthermore the mapping from Kubernetes to a systemd service could be factored out. This would yield the following modules:

  • service_generator which maps a PodSpec to a SystemdService.
  • systemd_service which provides the structure SystemdService and a function serialize which maps this structure to an IniFile and calls serialize on it.
  • ini_file with a structure IniFile and a function serialize.

The amount of code would be roughly the same but there would be smaller and better testable modules.

siegfriedweber avatar Jul 27 '21 10:07 siegfriedweber