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

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to