https://github.com/openbmc/service-config-manager
https://github.com/openbmc/service-config-manager
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/openbmc/service-config-manager
- Owner: openbmc
- License: other
- Created: 2020-03-31T12:28:47.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-04-06T14:45:34.000Z (over 1 year ago)
- Last Synced: 2025-04-06T15:38:15.362Z (over 1 year ago)
- Language: C++
- Size: 337 KB
- Stars: 2
- Watchers: 4
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Service config manager
The service config manager provides a D-Bus interface to manage BMC services as
described by the [service management D-Bus interfaces][].
The configuration settings are intended to persist across BMC reboots.
An example use case for this service is [BMCWeb's
implementation][bmcweb-implementation] of the Redfish NetworkProtocol schema.
[service management d-bus interfaces]:
https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/Control/Service
[bmcweb-implementation]:
https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/network_protocol.hpp
## Design
Implementation details are described in the [D-Bus interface README].
The service config manager generally makes configuration changes to `systemd`
units via D-Bus interfaces.
The design pattern to add new services or controls is:
- Determine if the service you want to control is socket activated.
- To control the `Running` and `Enabled` properties of a service:
- For a service which uses socket activation, control the socket.
- For other services, control the service unit itself.
[d-bus interface readme]:
https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Control/Service/README.md