SusmitShannigrahi/gsoc2008/features
From FedoraProject
Contents |
WebUI:
This Web-UI will provide a centralised managing point of a whole network. (Much like nagios does for monitoring)
This Web-UI will be accessible over the network and over the web.
The interface for editing configurations should look like sys-conf-tools (historical reason :-? ) but may be with enhanced functionality.
The web-UI should be something like this
Hosts(edit|add)| Services configured(edit|add) | Status | ....(n columns)
| Hosts(Add) | Services | Status | ... |
| Add services) | Service List (Edit) | ok/wrong | .. |
(There is more on https://fedorahosted.org/func/wiki/SystemConfigIdea but more discussions needed)
Func Modules needed:
At this point it is quite unpredictable which modules will be needed.(Probably we will need all and more).
Based on which sys-conf tool we take up, we will need corrosponding func module.
We will need to write new modules as we progress. (It should not be very difficult as func uses a easy API.)
Modifications and reuse of existing modules will be done as and when necessary.
We need a configuration backup/recovery module. As this server is going to be a single point of configuration, a crash may be a disaster. So a disaster recovery plan is needed.
sys-conf-* or func does not provide checkpoints for roll back. (Or I am unaware?)
It would be nice to have checkpoints representing working configurations.
sys-conf-* Tools to be implemented:
TBI one at a time sequentially till time permits. According to jobs a sysadmin does after new installation.
A user/group manipulation module
As a rule of thumb..users must forget their passwords and admins must reset them. :D
Features:
1. Add/Delete Users/Groups. (Textbox)
2. Edit User/Group Details. (Textbox) 1. Change group/uid/passwd/home dir of user. (Dropdown menu + Textbox) 2. Edit Group. (Text Box)
3. Listing all users/groups.(Alphabetical list? or Search field)
4. Listing groups a user belong to and users a group has.(Text box..enter user/group name)
5. Search a user. (Search Box)
7. View $finger of a user.
6. Remote broadcast/unicast message to users (Checkbox/Textbox)
Comment: First One to be Implemented
Services module
Features:
1. List all the services installed on a machine. (List)
2. Enable/Disable service (Chechbox)
3. Start/Stop/Restart service (checkbox)
4. Edit runlevel (List with checkbox)
5. Add/Delete services (Textbox/Checkbox)
Comment: Already implemented?
Install/Remove/Update Packages
Features:
1. List installed packages. (Checked among all available packages)
2. Search a package. (Search box)
3. Install/Remove packages (Searchbox/List all)
4. GroupInstall.
5. Add/Delete repository.
6. View available updates (list) and apply them (checkbox)
Comment:--(Locally using pirut model?)--/ Remote yum call will be better
Backup/Restore Module
Features:
1. Select host(s) to backup. (Checkbox/Destination)
2. Select all/some configurations. (Checkbox)
3. Save configurations to file.
4. To rollback, select old file, apply configurations.
5. And/OrCreate automatic checkpoints. If a machine crashes, select one of these checkpoints.(list of checkpoints)
comment: Explore possibility of integration with other backup softwares.
Locking module
Features:
1. Lock on configuration files so that no two user can work on same file.
2. Hold and wait.
3. --(Take periodic snapshot of file.)-- --(Backup file as *.conf.orig)--
4. Take one snap before locking.
Comment: --(Backup module will help this one.)--
Defer/Don't implement till more discussion
Date and Time Module
Features:
1. Adjust date and time.
2. Adjust timezones.
3. Sync/set hardware clock.
4. Sync/set software clock.
5. Specify/add/delete NTP server.
comment:
Process module
Features:
1. Create/Kill process remotely.
2. List processes of a user/group.
3. View all processes.
4. Send signals to processes (if required).
5. Find processes. (grep)
comment:
Security Module
Features:
1. Simple port blocking/allowing.(/etc/services)
2. Trusted services. (Add custom. A few predefined.)
3. Custom rules.
4. Enable/Disable firewall.
5. Enable/configure/Disable ip-forwarding.
comment:
I would like to complete all the modules but given that needs a fairly long time, we shall work on priority modules and once the core is in place rest is easy.