My Clojure Cup 2013

Last weekend I attended Clojure Cup 2013. Initially, I submitted my entry as a twitter mashup where users could create a dashboard based on service statuses (status is determined from a service’s twitter account, e.g. @heroku_status).

But everything I did during this contest is writing Chef and Capistrano recipes for Clojure deployment.

On the one hand it’s caused by the lack of time to participate for the following reason:

I'm getting married next week, but still attending @clojurecup, what's your excuse? :)

— Max Prokopiev (@mprokopiev) September 28, 2013

On the other – by the lack of resources describing Clojure deployment on VPS like DigitalOcean.

There is a great article about Manual Clojure Deployment by JUXT team. But (as you may have already noticed) it describes manual Clojure deployment. Come on guys, it’s 2013, there are tools like Puppet and Chef to handle that. This is what I thought reading this article. So my Clojure Cup entry quickly mutated to “Automated Clojure Deployment”.

I’ve picked initial Chef config from our chef template which we are using at FlatStack to prepare servers for deployment rails apps.

What I’ve done so far:

Also I’ve created a simple Capistrano recipe. With task to start/stop/check and restart lein daemon (which I’m using to start an app server)

Today I’ll put my code to github with detailed readme. Keep in touch :)

P.S.

It was fun! Thanks to Tero Parviainen and team.

During development I’ve made two pull requests to lein-daemon and chef-leiningen. If anyone who reading this article have access to review and merge them - please do that ∧∧”