SusmitShannigrahi/gsoc2008/features

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)

(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.