Tree


.gitignorecommits | blame
.gitmodulescommits | blame
README.mdcommits | blame
bin/
lib/

README.md

!! Summary

configNow is a method of configuring shell accounts using the remote shells method here:
https://www.planetofnix.com/wiki/pmwiki.php?n=Howto.RemoteShells

It handles creating of shell accounts and user accounts for a shell account.  It also manages a history of config changes via a git repository.  Each shell account will have a git repository in ~/configNow/ for storing configuration snippits for the account.  The account ownder can view and modify these snippits using the configNow tool or by hand.  Changes commited will be pulled into a staging area for inclusion in the generated configuration files for the system.

The system config filles will be assembled from the combined snippits of all the active users and also stored in a git repo to track changes.  The config file snippits will be stored in the appropriate format using the path and filename of the file they'll be merged into.  So dns records will be found in ~/configNow/var/nsd/zones/master/user.planetofnix.com and mail config will be found in ~/configNow/etc/mail/, etc.

Account holders and Admins will be notified of pending changes needing review before config changes are deployed.  Some basic sanity checks should be done to help alert users and admins to detected issues.  Some changes could be auto aproved.  Either way, admins will be able to view the history and revert to earlier versions if a change breaks something. 

NOTE: This is a work in progress so things are likely to change as the project matures.  The goal is to have an easy way to manage user configuration in a way that also enables and help them to learn to handle their own managemnt.  This is accomplished by giving them access to see and manipulate their portions of the config files in thier raw format as well as easy to use tools for beginners.

!! Configuration Supported

This project should be able to support any config file needed to manage users on any of the servers.  A plugin system will likely be needed to make it easy for server admins to add additional configuration needs over time.

!!! DNS Zone Files

/var/nsd/zones/master/

!!! Shell Accounts

!!! eMail Accounts

!!! XMPP Accounts 

!!! Lets Encrypte Certificates

!!! ZNC Accounts

!! configNow Config

Configuration variables used in the generation of account config snippits will be set in ./configNow.conf, /etc/configNow.conf, or /home/configNow/configNow.conf.  It'll be searched in that order; first one found will be used.

!!! confignow.conf Example

[@
@]