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-packagesFor example, the "csplugin-routewatch" watches for route modifications from external packages (OpenVPN, IPsec, PPTP) and notifies the multi-WAN app when something changes.