Config-Model provides a framework for editing and validating the content of any configuration file or data. With a configuration model (expressed in a data structure), Config-Model provides a user interface and a tool to validate configuration. An optional graphical (Perl/Tk) or curses interface can be used to edit configuration data that will be validated according to the user-provided model. Config-Model includes a model example for fstab and a small fstab demo.
Config::Model::Itself provides a configuration model for Config::Model. In other words, the structure of a model specification is described in Config::Model::Itself so you can use the same user interface to edit configuration data (for instance Xorg configuration data from xorg.conf) and Xorg model (if you need to add new parameters in Xorg model). You can also create your own configuration model to get a configuration tool for your own application.
Config::Model::TkUI provides a graphical interface to Config::Model. With this project, Config::Model, and a configuration model (like Config::Model::Xorg), a user gets a tool to edit configuration files. This configuration editing tool provides on-line help and validation of configuration data.
Config::Model::OpenSsh is a graphical configuration editor for OpenSSH configuration files (e.g. /etc/ssh/sshd_config, /etc/ssh/ssh_config, or ~/.ssh/config). Other user interfaces (curses and terminal) are also available. Programmers can choose to use the Perl API to modify or validate OpenSSH configuration. This program is based on Config::Model.
Config::Model::Backend::Augeas provides a bridge between Config::Model and Augeas configuration managements systems (à la /etc, not SCM). Augeas is able to load and write data while respecting the structure and comments of the original configuration file. Config::Model is able to validate the semantic content of the configuration file, but it will discard all comments and will write back configuration data using a canonical order.