Woah... this turned into a long e-mail.
On Sat, Jan 11, 2014 at 7:20 AM, Karanbir Singh mail-lists@karan.org
On 01/11/2014 04:17 AM, Peter Baldwin wrote: That's a basic overview of what we do. How does this help the CentOS / RHEL community and how does ClearOS fit in with the variants proposal? Some thoughts from a technical perspective:
It seems like a couple of puppet manifests or chef / ansible ones, that implement a pre-setup assumption-based ( which can be a good place to start from ) config state on a machine.
Deep inside the ClearOS developer documents, there's a short walkthrough on how to "convert" a CentOS system to a ClearOS system. In essence, it's a walkthrough that shows what's needed to get a barebones ClearOS web-management tool running on top of a CentOS system. As stated in the doc, it's not recommended for a real world deployment and intended for tinkerers.
http://www.clearfoundation.com/docs/developer/architecture/core_system/clear...
Below is a summary for those who don't have the time/interest to break out a VM and perform a walkthrough:
1) A sandboxed Apache/PHP engine is packaged to avoid interfering with the default OS Apache/PHP engine. Source RPMS required:
- webconfig-httpd (upstream "httpd', but tweaked to run out of /usr/clearos/sandbox) - webconfig-php (upstream "php", ditto)
2) A slightly modified CodeIgniter PHP framework is used by the web-management interface. Source RPM:
- clearos-framework
3) A set of barebones "app" packages are required - these are the PHP API/REST/web front-end RPMs. We can strip out the "must register" type of workflow for a CentOS variant of course, but those are implementation details. Source RPMs:
- app-language - app-network - app-register - app-suva-core / suva-client (needed for registering) - app-clearcenter - app-registration - app-marketplace
Not all the features listed on the on the following page would be available in a CentOS variant since some require EPEL or ClearOS-maintained packages (e.g. ClamAV, DansGuardian, Snort):
http://www.clearcenter.com/marketplace/
So something like "OpenVPN" would require the "app-openvpn" RPM in addition to the upstream openvpn package. Most, if not all, of the packages listed in the above URL listed as "free as in beer" are also "free as in speech".
Is the code in a git repo somewhere ?
We have 3 types of packages.
1) Modified upstream and ClearOS-maintained packages
CentOS development veterans will recognize this :-) It's a CVS repository used by plague build system: http://buildsys.clearfoundation.com/plague/success.psp . Source code:
cvs -z3 -d:pserver:anonymous@cvs.clearfoundation.com:/var/clearos/cvs/repositories/clearos co rpms
Here's a list of upstream packages that we modify with reasons why we modify (warning: doc is not 100% up-to-speed): http://www.clearfoundation.com/docs/developer/packaging/clearos_6.x/start
None of the upstream modifications would be required for a CentOS variant but some apps would not be available without the modifications.
2) Internal code used a helpers for some ClearOS features
We have a dozen-ish packages that we have developed to support some apps. Those are found on Github: https://github.com/clearos-packages
For example, the "csplugin-routewatch" watches for route modifications from external packages (OpenVPN, IPsec, PPTP) and notifies the multi-WAN app when something changes.
3) PHP API, REST, and web frontend
The "meat and potatoes" -- these are the PHP API/REST/web RPMs. These will be migrated to Github in the next week or so (https://github.com/clearos), but can be found on svn.clearfoundation.com/clearos right now (web frontend @ http://code.clearfoundation.com/svn/).
Cheers, Peter Baldwin