https://github.com/openbmc/phosphor-settingsd
https://github.com/openbmc/phosphor-settingsd
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/openbmc/phosphor-settingsd
- Owner: openbmc
- License: apache-2.0
- Created: 2015-12-18T18:02:30.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-02-11T19:27:15.000Z (over 1 year ago)
- Last Synced: 2025-03-22T04:02:06.774Z (over 1 year ago)
- Language: C++
- Size: 270 KB
- Stars: 2
- Watchers: 10
- Forks: 15
- Open Issues: 3
-
Metadata Files:
- Readme: README-settings-manager.md
- License: LICENSE
Awesome Lists containing this project
README
# Settings Manager
## Introduction
The settings manager has the following design goals:
- Each setting should be a distinct D-Bus object.
- The above makes it possible to not even create settings objects that do not
apply to a specific system.
- It should be possible, for example, for host0/ and host1/ on a system with two
hosts to not only have different values for certain settings, but have
different applicable settings as well.
- It should be possible to specify default settings for a system at build-time,
based on which the settings manager should at run-time create appropriate
D-Bus objects and place them on the bus.
## Settings policy file
Some of the design goals above are achieved via a policy file, which is written
in YAML. Based on this policy file, the settings manager code is generated to be
able to create only relevant settings D-Bus objects along with specifying their
defaults.
Here's an example of how entries in the YAML would look:
```yaml
/xyz/openbmc_project/control/host0/boot_mode:
Interface: xyz.openbmc_project.Control.Boot.Mode
Defaults:
BootMode: Mode::Modes::Regular
/xyz/openbmc_project/control/host1/boot_mode:
Interface: xyz.openbmc_project.Control.Boot.Mode
Defaults:
BootMode: Mode::Modes::Safe
```
It is possible to specify this policy file via a bitbake recipe for a system
specific policy.