Some of you may know scripts/applications like the great Rex(ify), Puppet, Chef, CFEngine and how they are named...all of them being amazing software.
They allow you centralized manage your config files across several machines, to fire commands on all of them and much more - such a lovely idea.
I tried mostly all of them (staying with Rex(ify) lastly) but...it's written in PERL and I found it hard to write own commands/extensions for it (not to say how hard it is with Puppet etc.)
So I was looking for alternatives and didn't find one that I was able to accept...either they were to large/complex or written in a niche-language I don't have the time to learn currently.
That's why I decided to write CCM....
Centralized Config Manager
CCM is a centralized configuration manager written in - guess what - PHP. The goal was to create a lightweight alternative to above tools with very less requirements (php5-cli and libssh2-php only) that's still powerful and easy to extend.
Now, I'm proud to announce that a first release (0.1.0) is near. The current feature palette can be seen from it's initial help:
Centralized Config Manager 0.1.0
USAGE: ccm [OPTION]
ccm [COMMAND] [OPTIONS]
-c, --config CONFIG, prints the configuration.
-h, --help HELP, prints this information.
-m, --man MAN, shows the man pages.
-v, --version VERSION, prints the version information.
add ADD, wizard to add a new server/group.
deploy DEPLOY, deploys the configuration.
exec EXEC, executes the command.
fetch FETCH, fetches the configuration.
list LIST, lists the defined servers/groups.
remove REMOVE, removes the server/group from config.
set SET, sets server/group properties.
shell SHELL, starts an interative shell.
unset UNSET, unsets server/group properties.
That said, it allows you to manage server/group, fire commands on them and fetch and deploy files from and to them -- but of course it's not yet finished nor perfect.
That's why I'm looking for contributors and testers.
Contributing and Testing
In the first phase, the source code will stay closed (e.g. on private Gitlab instance rather than on Github) but this will change as soon as a state is reached where we can say "Yes, it's ready for the public".
In the meanwhile I'm looking for contributors and (primary) testers which play around with as-is and report every bug they find and open a ticket for every feature they wish - that's where you come in.
How to "apply"
Please send me a PM/Email with your First-/lastname and Email address so I can create an account for you on the Rackster OS Plattform (https://open-source.rackster.ch/index
) which will be the centralized bug/feature/etc. reporting plattform while in beta phase.
It would also be great if you could add a short text about how many machines you're managing and why you are basically interested in CCM.
Also, if you'd like to contribute the code - tell me
It would be great if some of you would help the project/me by reporting/testing - thus, making CCM a great software together.
Video preview: http://drops.frontender.ch/PUue/4bCh8Slr
Thanks a lot
& stay tuned