[CentOS-devel] ClearCenter Marketplace for CentOS Variant

Mon Jan 13 15:50:06 UTC 2014
Peter Baldwin <pbaldwin at clearfoundation.com>

Woah... this turned into a long e-mail.

> On Sat, Jan 11, 2014 at 7:20 AM, Karanbir Singh <mail-lists at 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/clearos-release

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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/centos-devel/attachments/20140113/3378fce0/attachment-0005.html>