No description
Find a file
2012-10-09 09:22:25 -10:00
config add some docs about overrides 2012-10-05 12:05:58 -10:00
lib Preserve lib/ or Puppet will create it as root 2012-10-04 13:46:12 -07:00
manifests bump puppet-boxen to got boxen::repo to handle the repo clone 2012-10-05 12:04:04 -10:00
modules people module doc update 2012-10-07 15:00:32 -10:00
script Add script/boxen-git-credential 2012-10-04 21:09:40 -07:00
shared Things managed by librarian-puppet go in shared/ 2012-10-03 10:24:21 -07:00
vendor bump puppet-boxen for sudoers entry for launchctl services management 2012-10-09 09:22:25 -10:00
.gitignore Bring back dat cache 2012-10-03 13:55:23 -07:00
.rbenv-version README tweaks 2012-10-07 17:23:38 -10:00
Gemfile Use the released 0.1.0 gem 2012-10-03 14:05:55 -07:00
Gemfile.lock bump to boxen 0.4.0 for service flags 2012-10-09 09:15:41 -10:00
Puppetfile bump puppet-boxen for sudoers entry for launchctl services management 2012-10-09 09:22:25 -10:00
Puppetfile.lock bump puppet-boxen for sudoers entry for launchctl services management 2012-10-09 09:22:25 -10:00
README.md README updates 2012-10-08 08:28:26 -10:00

Our Boxen

This is a template Boxen project designed for your organization to fork and modify appropriately. The Boxen rubygem and the Boxen puppet modules are only a framework for getting things done. This repository template is just a basic example of how to do things with them.

Getting Started

It's pretty important you follow these steps exactly. You should not fork this repository for your organization's Boxen. We have some pretty specific semantics about forking and public/private repositories. We really recommend doing it this way:

  1. Create a new local git repository. Create a private repository on GitHub under your organization for your boxen (eg. myorg/myorg-boxen)
  2. In your new repository, git remote add upstream https://github.com/boxen/our-boxen && git fetch upstream && git co -b master upstream/master
  3. Now follow the directions GitHub gave you when creating your private copy to push the master branch to your private copy.

With that done, now you can tweak it to your use:

  1. Modify the Puppetfile and modules/ to your heart's content.
  2. Install the XCode Command Line Tools package. You need an Apple ID. We know. It sucks. You can thank Apple for not allowing the Command Line Tools to be redistributed publicly.
  3. cd to that dir and run script/boxen
  4. Ensure you have [ -f /opt/boxen/env.sh ] && source /opt/boxen/env.sh in your shell config. If you don't have a shell config yet, we automatically add this to ~/.profile for you.
  5. Open a new shell.
  6. Verify boxen --env prints out BOXEN_ env vars.
  7. Rock out. 🤘

What You Get

This template project provides the following by default:

  • Homebrew
  • Git
  • Hub
  • DNSMasq w/ .dev resolver for localhost
  • NVM
  • RBenv
  • Full Disk Encryption requirement
  • NodeJS 0.4
  • NodeJS 0.6
  • NodeJS 0.8
  • Ruby 1.8.7
  • Ruby 1.9.2
  • Ruby 1.9.3
  • Ack
  • Findutils
  • GNU-Tar

Customizing

You can always check out the number of existing modules we already provide as optional installs under the boxen organization. These modules are all tested to be compatible with Boxen. You can include these modules by modifying the Puppetfile, adding them to manifests/site.pp if they should be installed on every machine, and then running boxen.

For your organization, it's recommended you create a module to contain the configuration in the modules/ directory (eg. modules/github). Then, you simply need to include that module in manifests/site.pp.

For organization projects (read: repositories that people will be working in), please see the documentation in the projects module template we provide.

For per-user configuration that doesn't need to be applied globally to everyone, please see the documentation in the people module template we provide.