The Tiberium Soul server is the "heart" of the tiberium system it's responsible for the forwarding of the various HTTP related request from the client to the proper tiberium instance.
- Full Heroku compatibility (eg:
Procfile
) - Modular back-end usage with support for Digital Ocean (in the future EC2, Azure, etc.)
- Support for add-ons using env variables of heroku (eg:
MONGOHQ_URL
) - Optimization of resources (minimizing user cost)
- SSH key upload to Digital Ocean for provisioning of VM via API
- Sandboxing of execution using LXC containers through Docker API
- User managed proxy server (as opposed to the Heroku approach) with full SSL key support
- Possible manual management of infrastructure by the user (at his own risk)
- Direct support for GitHub repositories (deploy using specialized branch)
- One click configuration through OAuth login (in both Digital Ocean and GitHub)
- Infra-structure for selling our own (Hive Solutions) addons like a clone of Parse
- Mock 1 - Design, UX
- Mock 2 - Design
- Mock 3 - Typography
- Mock 4 - Design
- Mock 5 - Design, Icons
- Mock 6 - Design
- Mock 7 - Design
- Mock 8 - Design
- Mock 9 - Design, Minimal, Icons
- Mock 10 - Design, Email, Minimal, Icons, Layers
- Svbtle - Design
- Dropbox - Illustrations
- Avenir
- Muli
- ASAP
- Benton Sans - Heroku
- Mock 1 - Design, Size
- Dropbox - Design, Simplicity, Focus, Illustrations
- Heroku - Design, Focus, Code Example
- Fanti
- Jetopia
- Ventogo - Domain
- URriver - Domain
- Panode
- Beroute - Domain
- Routeship - Domain
- Shipado - Domain, Winner
This series of sets assume that the target machine is running Ubuntu Linux 12.10.
Currently Tiberium Soul depends on:
- git
- python-setuptools
- pip
- virtualenv
- tiberium
- flask
- linux
Optional/optimal dependencies include:
- mongodb
- redis
- python-mongo
- python-redis
In order to be able to run the deployment of the server using the "default" git user it must be created in the target machine.
$ adduser git
$ passwd git
$ usermod -d /usr/local/lib/python2.7/dist-packages/tiberium-soul-0.1.0-py2.7.egg/repos/ git
You can then verify the user information with.
$ finger git
In order to configure tiberium create an /etc/tiberium/config.json
file with the contents
of global/config.json
.
An example configuration would be:
{
"hostname" : "repo.hostname",
"domain_suffix" : "hostname",
"user" : "git",
"group" : "git",
"cert_path" : "/etc/tiberium/cerfile.cer",
"key_path" : "/etc/tiberium/keyfile.key",
"suns_dir" : "/var/tiberium/suns",
"repos_dir" : "/var/tiberium/repos"
}
After correctly installing tiberium soul execute the following command to start the gateway and deployment infra-structures.
$ tiberium_soul.sh
- repository server -> repo.tiberium
- admin server -> admin.tiberium
- proxy server -> proxy.tiberium
If the configuration file for pypi (setup.py) is correctly defined and you ha ve the correct permission for it you may upload it to the python package index.
$ python setup.py register sdist bdist_wheel upload