Currently systemd discards unknown sections in unit files with a message logged about doing so. Addig custom section support (for example, by prefixing the section name with a *) and making these available on D-Bus would open many possibilities: units could be augmented with data for non-systemd applications and would be completely in sync with systemd and wouldn't require parsing unit files by applications. A few possible use cases: * Creating a monitd-like monitoring application with its tests defined with the services they are supposed to check * CoreOS's Fleet currently does this with X-Fleet sections * And many more I can't think of :) As an example: /etc/systemd/system/freeradius.service: .include /usr/lib/systemd/system/freeradius.service [*Test1] Name=Test with good credentials Exec=/usr/local/test-freeradius.sh [*Test2] Name=Test with good credentials using expect script ExpectCmd=/usr/local/test-freeradius.exp -- And the org.freedesktop.systemd1.Unit interface could have a CustomSections property (an array of section names) and a GetCustomProperty(String SectionName, String PropertyName) method: /org/freedesktop/systemd1/unit/freeradius_2eservice CustomSections = ["Test1","Test2"] GetCustomProperty("Test1", "Name") -> "Test with good credentials using expect script"
All unit file settings and sections starting with "X-" will be ignored by systemd's own parsers. They are intended to be used by other apps to enrich the unit files with their own meta data. There's also a TODO list item to make these settings and fields queriable via some unit bus properties. Happy to take a patch for that.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.