[chef] State of the Application Cookbooks for August 11


Chronological Thread 
  • From: Noah Kantrowitz < >
  • To: Chef < >
  • Subject: [chef] State of the Application Cookbooks for August 11
  • Date: Tue, 11 Aug 2015 11:52:03 -0700

It has been a few months since my last status update and things are coming 
along nicely. As before I would like to again thank all my sponsors and 
supporters for making this work possible!

Support Cookbooks
-----------------

Both Poise and Halite have seen feature releases. Mostly this has been 
support for Chef 12.4+ as well as some minor fixes and helpers. Lots of good 
stuff, but mostly relevant to me as the author of all this.

Application Cookbooks
---------------------

The application cookbooks have moved forward quite a bit. The four core 
cookbooks (application, application_git, application_ruby, 
application_python) are all minimally feature complete. This means that they 
support all the resources I want before release, but some of those resources 
are intentionally minimalistic. With service resources like thin and gunicorn 
they support the most common options like port as resource properties, with 
creating a configuration file as a fall-back for less frequently used 
options. I could use help in determining which options for each tool are 
common enough to warrant being exposed directly in the DSL.

Example recipes are available covering four of the most common web frameworks:

* Sinatra: 
https://github.com/poise/application_ruby/blob/master/test/cookbooks/application_ruby_test/recipes/sinatra.rb
* Rails: 
https://github.com/poise/application_ruby/blob/master/test/cookbooks/application_ruby_test/recipes/rails.rb
* Flask: 
https://github.com/poise/application_python/blob/master/test/cookbooks/application_python_test/recipes/flask.rb
* Django: 
https://github.com/poise/application_python/blob/master/test/cookbooks/application_python_test/recipes/django.rb

Language Cookbooks
------------------

Both poise-python and poise-ruby are feature complete and ready for release. 
They support installing the Ruby or Python runtime from a variety of sources, 
handle command execution for the language, and have resources to manage 
language-specific package installs.

A lot of the shared code between them as also been refactored to a set of 
shared mixins in a new poise-languages cookbook.

What’s Next
-----------

Over the next few days I’m going to continue to improve the documentation for 
all these cookbooks. Reference documentation for all the new resources is in 
places already, but the introductory guides need more work as do porting 
guides for those upgrading from the current versions of the cookbooks.

I want to get all the previously mentioned cookbooks shipped so people can 
start using them before I move on to creating new ones. I’m hopeful that 
shortly after the big x.0.0 releases there will be a flurry of smaller 
feature releases as people point out options and patterns common enough to be 
promoted to full DSL support instead of being in configuration files.

After that the next big application type on my list is server-side 
JavaScript, and then smaller helpers for Java, Go, and Erlang. Also on the 
smaller side of things is some exploratory work on a general-purpose service 
discovery API for Chef recipes.

tl;dr
-----

The application stacks for Ruby and Python will be released very soon. If you 
still have not locked your dependencies, expect your Chef runs to break.

I would love more help from people deploying apps on Thin, Unicorn, Gunicorn, 
and Celery in working out what options are common enough to be included in 
the DSL.

Questions?
----------

If anyone has any questions on any of these cookbooks or my future plans for 
them please don’t hesitate to get in contact with me.

--Noah

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



  • [chef] State of the Application Cookbooks for August 11, Noah Kantrowitz, 08/11/2015

Archive powered by MHonArc 2.6.16.

§