[size=8pt]* PCF stands for Peerbox Configuration Framework[/size]
What is PCF?
PCF is extensive framework for using, tweaking and maintaining Peerbox.
In a way it is API for Peerbox
But why do we need this?
Imagine this as GUI (or Desktop Environment) for GNU/Linux OS. GNU/Linux can naturally work without GUI using CLI interface. This is how Linux is used on servers. However this way of using Linux rejects some users as they see using terminal (CLI) as something that requires special skills and programming talent. That may not be true, but fact remains. If want users to be happy, present it with GUI.
But, PCF is not a GUI as Peerbox will always be headless and will never require monitor/keyboard/mouse to operate it.
PCF will serve underlying OS and wrap it into abstraction layer that will allow creation of Web-app to control Peerbox.
So, it is a GUI, but in browser.
Let me present that visually:
Flow of information will be something like this (red is downward, green is upward):
USER – WebApp – PCF (DAEMON component) – read firewall rules – DAEMON — WebApp – USER
To sum it up in a sentence:
In WebApp, USER click on “Firewall” tab. This generates request (in JSON) that is sent to PCF on Peerbox. PCF understands this call, and has hardcoded function that will get this information from OS. When PCF reads information about firewall it packs it to JSON and sends it back to WebApp which in turn presents this to USER in lovely way.
** See post bellow for planned/completed DAEMON features **
Beside WebApp PCF will feature CLI interface for configuring Peerbox for people who do not wish to use it via browser.
Backend of this CLI application is that same DEAMON, and they will also communicate over https.
Possibly, if I do not find better solution this CLI app will start when user logs in to new Peerbox installation for first time. This will allow user to configure the OS and load settings from former Peerbox installation.
PCF is being coded in Node.js, this is second iteration of PCF. First one was coded in Python but I’ve moved to Node.js as WebApp programming is far more easier in Node.
Do mind that this first time I work with Node.js and coffee-script. Development will probably be far slower since I have to learn ahead of my coding. This system works so far.
I will release first source code after basic WebApp/CLI client is complete. Coding of WebApp will probably go even slower since I have no experience at all.