Bug 82724

Summary: RFE: expose X- prefixed unit file settings and sections on the bus
Product: systemd Reporter: Márton Levente Szigeti <szigeti.marton.levente>
Component: generalAssignee: systemd-bugs
Status: NEW --- QA Contact: systemd-bugs
Severity: enhancement    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Márton Levente Szigeti 2014-08-17 09:20:37 UTC
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"
Comment 1 Lennart Poettering 2014-08-18 13:01:41 UTC
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.