Sarge - a web application hosting tool

Alex Morega <[email protected]> Wed, 20 Jun 2012 23:09:05 +0300
Newsgroups gmane.comp.python.web
Message-ID <[email protected]>
Hi folks,

I've been tinkering with a tool for hosting web applications. It aims to make deployment easier by automating configuration on the server: starting up processes, linking them to databases, configuring the front-end web server, etc. Many ideas are borrowed from Ian Bicking's proposal from April 2011[1].

http://alex-morega.github.com/Sarge/

On the server, Sarge reads a "hosting" configuration file for each "deployment". This describes resources available to the application (e.g. database), along with a domain name, public HTTP port, etc. The "guest" application is deployed with its own configuration file that provides a urlmap, service requirements, entry points. These configuration files are still underspecified; apppkg[2] may be a good model for them.

Processes are started with supervisor[3], and nginx is assumed as http server. For the application, services (e.g. database access) will be provided via plugins, but the plugin API is not very useful yet.

The code is thoroughly covered in unit tests. There is a small set of integration tests that run against a vagrant[4] virtual machine. Also there is the beginnings of a documentation, including a tutorial[5] that should give you an idea of the deployment workflow.

Feedback is most welcome! I've started work out of personal frustration of having to copy/paste fabric commands between projects, but I'd love for this tool to be widely useful.

Cheers,
-- Alex

[1] http://mail.python.org/pipermail/web-sig/2011-April/005009.html
[2] https://github.com/ianb/apppkg/
[3] http://supervisord.org/
[4] http://vagrantup.com/
[5] http://alex-morega.github.com/Sarge/tutorial.html

_______________________________________________
Web-SIG mailing list
[email protected]
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: http://mail.python.org/mailman/options/web-sig/gcpw-web-sig%40m.gmane.org
signature.asc (application/pgp-signature, 487 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)

iQEcBAEBAgAGBQJP4i3hAAoJENOSsKCo1yXXPrgH/jFa5z4Qc6YAl02I8lRA1bIc
FIDhm/4xybvBp3HNf2ShgDQFz8g1yTLiFPJzqzjMzlgkUoMrLlDidX5QTKya0kiu
fxQp8c0PjlDQZxeeWUdK8uw6CFPam3OmQ+LTPso+zatARmlMkaFNlJ+Wt0jVuSLL
ok3PdJ9oD4IG+qBinP5x6zv0kHL54m85SF69tAAzvQLrALJVJMiCqjqv30YLIa1S
q1ujmrQexO8OJWbI4vzXrbL6T5bkJVcY6lBFjPj0GPPSTw+jjsQkL/qqEIdZFxtY
VirceWmxAIqhP69ZTVf8WUPmsxwV4IS2+H2oJfveK3T7qI77xz2YzJiR81SGkDg=
=eCEB
-----END PGP SIGNATURE-----