Skip to content
bigCGI is a serverless computing platform using CGI
Python HTML Tcl CSS Shell Smarty Ruby
Branch: master
Clone or download
Latest commit 4055aac May 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
apps server provisioning, user creation/cleanup on error cases Apr 12, 2018
blog working on first actual post Mar 26, 2019
cgi started static site generator Jan 11, 2019
db writing tools for all user functions Apr 18, 2019
logs apache package, vagrant provisioning, duplicate user protection, upda… Sep 2, 2017
script writing tools for all user functions Apr 18, 2019
serversetup filesys bugs, testing complete, small refactor of app.py May 8, 2018
static style fixes, self hosted fonts, funcs Jan 31, 2019
tasks delete file/app via celery queue Apr 24, 2018
tests passing tests May 10, 2018
tools bug in all_users Apr 27, 2019
util auth parameter bug May 11, 2018
views added version in footer May 14, 2019
.gitignore updated development page Jan 20, 2019
.travis.yml travis.yml May 8, 2018
LICENSE more static pages, changed license to GPL Mar 3, 2017
NOTES writing tools for all user functions Apr 18, 2019
README writing tools for all user functions Apr 18, 2019
TERMS fixed typo Mar 30, 2019
app.py filesys bugs, testing complete, small refactor of app.py May 8, 2018
env.template writing tools for all user functions Apr 18, 2019
exceptions.py refactoring for test fixtures Jun 12, 2017
requirements.txt server provisioning, user creation/cleanup on error cases Apr 12, 2018
settings.py writing tools for all user functions Apr 18, 2019
supervisord.conf provisioning script fixes, began using celery to sync files. Mar 25, 2018
toolrunner.py refactoring for test fixtures Jun 12, 2017

README

bigCGI is a function as a service (FaaS) platform utilizing the CGI standard.

Why CGI?
  - CGI is easy to implement in almost any programming language
  - CGI scripts can be run and tested locally, and are not vendor specific
  - CGI scripts run with process isolation
  - CGI is a stateless standard

But isn't CGI slow?
  - Interpreters and process spinup are slow, but modern OS's and hardware
    greatly reduce this bottleneck.
  - For many applications, a few milliseconds doesn't really matter anyway

How does it work?
  - bigCGI is a python Bottle application, running on FreeBSD servers
  - The application stores your functions on a server, and runs them according
    to the CGI standard.
  - The application coordinates with a cluster of servers, and ensures your
    function is propogated across the cluster.
  - The bigCGI applications are deployed behind a reverse proxy

What is the status of this project?
  - bigCGI is in active development and is currently in a beta stage

Who can I contact?
  - I appreciate feedback and conversation
  - bigcgi.app (AT) gmail.com

------------------------------------------

See LICENSE, and TERMS

------------------------------------------
    
INSTALL INSTRUCTIONS
  - MANUAL INSTALL
    - add kern.racct.enable=1 to /boot/loader.conf, restart
    - create bigcgi user with adduser
    - clone the repo into /home/bigcgi/bigcgi-repo
    - install packages git, bash, sudo, tcl86, python35, apache24, mongodb, rabbitmq, supervisord
      - for apache24
    - create an env.sh file and source to shell
    - virtualenv -p $(which python3.5) env 
    - source env/bin/activate
    - pip3 install -r requirements.txt
    - make sure mongod started with auth off, apache24 started, rabbitmq started
    - cd to serversetup, run sudo -E ./install.tcl
    - supervisord -c supervisord.conf (make sure env.sh and virtualenv activated)
  - VAGRANT
    - cd to serversetup, make env.sh and virtualenv
    - vagrant up && vagrant rsync-auto
    - vagrant halt, uncomment out owner:bigcgi in Vagrantfile, vagrant reload, vagrant up && vagrant rsync-auto
    - manual steps: add kern.racct.enable=1 to /boot/loader.conf, restart 

RUN TESTS
    - nosetests -vsx tests

You can’t perform that action at this time.