Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ABRT configuration service #751

Closed
jfilak opened this issue Nov 7, 2013 · 2 comments
Closed

ABRT configuration service #751

jfilak opened this issue Nov 7, 2013 · 2 comments

Comments

@jfilak
Copy link
Contributor

jfilak commented Nov 7, 2013

Develop a service which allows administrators to configure ABRT from various systems (e.g. OpenLMI, see the discussion at #750).

Requirements:

  • D-Bus service
  • easily extensible (because of the plug-in architecture)

Proposal:
The configuration is still stored in configuration files placed on the local file system and the configuration service provides a single entry point to the configuration.
A configuration domain (all configuration options of a plug-in - it could be several configuration files) is represent by a single D-Bus interface consisting only from properties. An each property of the configuration interface corresponds to an option from a configuration file. The configuration service loads the configuration interfaces from XML files placed in D-Bus interfaces directory (usually '/usr/share/dbus-1/interfaces/'). However, the configuration service loads only files whose name are prefixed by 'com.redhat.problems.configuration'. The configuration service registers a D-Bus object for each loaded configuration interface and the path of a configuration object is taken from the node's XML attribute 'name'. All configuration objects implements the default configuration interface which defines 'SetDefault(s)' method which resets an option's value to default value. The default configuration interface is provided by the configuration service.
The interface's XML definition must contain a pair of annotation elements which specify these files:

  • a working configuration file to read the configuration and where the changes are saved
  • a default configuration file to read the default values

The service listens on the system bus and only authorized users can read/write property values (option values). The authorization is requested instantly for all actions (e.g. get a property's value).

@jfilak
Copy link
Contributor Author

jfilak commented Jan 7, 2014

The configuration service has been introduced by commit 8e70962

jfilak pushed a commit to abrt/libreport that referenced this issue Jan 16, 2014
Closes #228
Related to abrt/abrt#751

Signed-off-by: Jakub Filak <jfilak@redhat.com>
jfilak pushed a commit to abrt/libreport that referenced this issue Jan 21, 2014
Closes #228
Related to abrt/abrt#751
Related to rhbz#1055610

Signed-off-by: Jakub Filak <jfilak@redhat.com>
@jfilak
Copy link
Contributor Author

jfilak commented Oct 14, 2014

Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant