What's Boxen and what does it do? [closed]
Asked Answered
C

2

16

Today I see the new Github team project, called Boxen: http://boxen.github.com/

I completely read their introduction for this project but I really didn't understand WHY should I use that? How it goes to simplify development process?

EDIT: I see that this tool has something for Ruby and NodeJs also.

Canaan answered 16/2, 2013 at 5:37 Comment(0)
P
14

NOTICE: I'm not affiliated with the github folks, or an authority on the exact implementation(yet), but have been following its evolution since hinted at months ago - the spread of masterless puppet is a great thing, which this project delivers

From the horses mouth(a very recent presentation on Boxen, with Q&A!): http://vimeo.com/61172067

github.com/boxen/boxen is a framework, which uses puppet as an engine on current OS X(10.8+ as of this writing) workstations so devs can start working on projects or 'manage' their own workstations with all the dependencies they'd need. github.com/boxen/our-boxen is an example of the 'master repo' of curated software dependencies for a project you'd collaborate on, which are hard-coded to github's auth and repo's. Once happy that it delivers everything your 'team' would need to work on a particular project(or group of projects,) you'd send the resulting repo to Heroku for hosting with boxen-web. Now for more specifics:

You can use your own repo, with the contents of our-boxen(a fork is NOT recommended) without boxen-web if working solo or kicking the tires.

Puppet can be run in traditional client-server mode(the Puppetlabs folks have come up with different names as their product has evolved, but it's now - I think - referred to as agent-master.) In my own theory, in order to have as little 'hooks' or background processes running on a developers workstation as possible, this uses puppet 'modules' that are run without contacting a 'master', which then installs software or makes configuration changes.

A manifest to specify your own user/machine can be created, but every time you run the boxen binary, and 'drift' is detected or enhancements/refinements for your team are added, a baseline gets 'enforced'. An example from a recent presentation( https://speakerdeck.com/wfarr/boxen ) is java security patches, while not project-specific, can add management to the teams workstations, side-by-side with your individual needs.

The boxen organization(github.com/boxen,) created by the github folks, hosts puppet modules known to work with boxen that can be added at the team or individual level, although you can always break out your own puppet and expand what it can do as you see fit.

Podagra answered 24/2, 2013 at 4:14 Comment(2)
What is the difference between boxen and other librarian tools like librarian-puppet, librarian-chef ? I mean, what can boxen do but librarian tools can't ?Erudition
librarian-puppet, also by a githubber github.com/rodjek/librarian-puppet , is really more about resolving dependencies in puppet modules. Boxen utilizes it along with puppet-lint and rspec-puppet to set a baseline spec and to some extent enforce best practices for module creation, wrapped together with the cardboard gem github.com/boxen/cardboardPodagra
M
3

It's explained in their blog post, here: https://github.com/blog/1345-introducing-boxen

Boxen is a framework for managing almost every aspect of your Mac. We built a massive standard library of Puppet modules optimized for Boxen to manage everything from running MySQL to installing Minecraft.

Mcmullen answered 16/2, 2013 at 5:46 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.