• This repository has been archived on 02/Dec/2020
  • Stars
    star
    210
  • Rank 187,585 (Top 4 %)
  • Language
    Ruby
  • License
    MIT License
  • Created about 12 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Automate your team's Boxen installations.

Boxen via the Web

Development

We assume you already have Boxen working on your machine. You also need PostgreSQL installed.

$ cd ~/src/boxen-web
$ script/bootstrap
$ script/tests
$ bin/rake db:schema:load
$ script/server
$ open http://localhost:9393

Deployment

The tl;dr version is you can run something like this:

Make a new GitHub OAuth Application. Then, run:

heroku create my-new-boxen
heroku config:set \
  REPOSITORY="our-org/our-boxen" \
  GITHUB_CLIENT_ID="REDACTED" \
  GITHUB_CLIENT_SECRET="REDACTED" \
  GITHUB_ORG=my-github-org \
  GITHUB_TEAM_ID=99999999 \
  GITHUB_LOGIN=my-github-login \
  SECONDARY_MESSAGE="Do a thing before running the command below." \
  SECRET_TOKEN="your cookie signing token here" \
  USER_ORG="your org name" \
  GITHUB_ENTERPRISE_URL="https://github.<your_company>.com" \
  REF="master"
git push heroku master
heroku run bundle exec rake db:migrate

For details as to how and why, see the sections below.

GitHub OAuth Application

Boxen Web utilizes GitHub OAuth to authenticate users because most Boxen configurations for organizations will be private -- this requires an access token to fetch the repository in the install script.

If your deployment lives at https://example.herokuapp.com, you will need to create a GitHub OAuth application with the following config:

Heroku

You must use the Heroku Cedar stack (now the default with heroku create).

Additionally there are some required and optional environment variables that should be set via heroku config:set:

  • required
    • REPOSITORY to know which repo to download/setup
    • GITHUB_CLIENT_ID for OAuth.
    • GITHUB_CLIENT_SECRET for OAuth.
    • SECRET_TOKEN for cookie signing. Minimum length is 30 characters.
  • optional
    • GITHUB_ORG to restrict access to members of an organization.
    • GITHUB_TEAM_ID to restrict access to members of a team.
    • GITHUB_LOGIN to restrict access to a single user by login name.
    • SECONDARY_MESSAGE to display an optional message on the main page.
    • USER_ORG to display an optional stamp with your username or organization.
    • GITHUB_ENTERPRISE_URL to use GHE for OAuth and our-boxen hosting.
    • REF to fetch a specific reference from REPOSITORY.

Halp!

Use Issues or #boxen on irc.freenode.net.

More Repositories

1

our-boxen

Copy me for your team.
Ruby
2,595
star
2

boxen

Manage Mac development boxes with love (and Puppet).
Ruby
1,580
star
3

puppet-osx

Generic OS X stuffs for boxen
Ruby
108
star
4

puppet-template

An example Puppet module for Boxen.
Ruby
84
star
5

puppet-boxen

Boxen's fundamental modules and types.
Ruby
76
star
6

puppet-brewcask

A homebrew-cask provider for Puppet's package type
Ruby
38
star
7

puppet-ruby

Installs Ruby versions with Boxen
Ruby
38
star
8

puppet-homebrew

Install Homebrew.
Ruby
24
star
9

cardboard

Development tools for Boxen's Puppet repositories.
Ruby
16
star
10

phantomenv

PhantomJS version manager, heavily inspired by rbenv
Shell
16
star
11

boxen.github.com

Deprecated.
HTML
16
star
12

puppet-nodejs

Ruby
15
star
13

puppet-iterm2

Puppet
13
star
14

puppet-java

Install Java
Ruby
13
star
15

puppet-dropbox

Install Dropbox.
11
star
16

puppet-python

Ruby
11
star
17

puppet-chrome

Install Google Chrome.
10
star
18

puppet-postgresql

Install Postgresql
Ruby
10
star
19

puppet-mongodb

Ruby
9
star
20

puppet-virtualbox

Ruby
9
star
21

puppet-dnsmasq

Install the dnsmasq DNS forwarder.
Ruby
9
star
22

puppet-git

Install Git.
Ruby
9
star
23

puppet-mysql

Ruby
9
star
24

puppet-redis

Ruby
8
star
25

puppet-alfred

Install the Alfred productivity app.
8
star
26

puppet-hub

Install hub.
Ruby
6
star
27

puppet-bash

Ruby
6
star
28

puppet-caffeine

Install the Caffeine Mac OS X app.
6
star
29

puppet-elasticsearch

Install elasticsearch.
Puppet
6
star
30

puppet-nginx

CSS
6
star
31

puppet-firefox

5
star
32

puppet-zsh

Ruby
5
star
33

puppet-packer

Puppet module for installing Packer, for Boxen.
Ruby
5
star
34

puppet-sublime_text_2

Ruby
5
star
35

puppet-repository

Repository management for Boxen
Ruby
5
star
36

puppet-slate

4
star
37

puppet-heroku

Install Heroku plugins.
Ruby
4
star
38

puppet-imagemagick

4
star
39

puppet-emacs

Install GNU Emacs
4
star
40

puppet-phantomjs

Install PhantomJS
Ruby
4
star
41

puppet-cassandra

Shell
4
star
42

puppet-seil

Boxen puppet module to install seil
Ruby
4
star
43

puppet-xquartz

Ruby
3
star
44

puppet-rdio

3
star
45

puppet-go

Puppet
3
star
46

puppet-textmate

3
star
47

puppet-googledrive

A Boxen puppet module to install Google Drive Sync
3
star
48

puppet-tower

Boxen module to setup Tower Git
3
star
49

puppet-nvm

Shell
3
star
50

puppet-sysctl

Ruby
3
star
51

puppet-mou

Puppet Boxen module for Mou
Ruby
3
star
52

puppet-sublime_text

New home for boxen/puppet-sublime_text_2 with versions as config options
Ruby
3
star
53

puppet-wget

Puppet module for installing wget, for Boxen
3
star
54

puppet-gitx

Install GitX.
3
star
55

puppet-onepassword

2
star
56

puppet-osxfuse

Ruby
2
star
57

puppet-augeas

Install the augeas configuration editor.
Ruby
2
star
58

puppet-erlang

Install Erlang.
Ruby
2
star
59

puppet-arq

Install the Arq backup app.
2
star
60

puppet-macvim

MacVim is the text editor Vim for Mac OS X
2
star
61

puppet-memcached

Ruby
2
star
62

puppet-cyberduck

2
star
63

puppet-gh

Ruby
2
star
64

puppet-fig

Puppet module for installing Fig, for Boxen
Ruby
2
star
65

puppet-inifile

Ruby
2
star
66

puppet-asciiio

2
star
67

puppet-fitbit

2
star
68

puppet-minecraft

1
star
69

puppet-hipchat

1
star
70

puppet-tor

TorBrowser Module for Boxen
1
star
71

puppet-ghostscript

Install Ghostscript.
1
star
72

puppet-wkhtmltopdf

Ruby
1
star
73

puppet-fonts

Boxen Module for installing Fonts
Puppet
1
star
74

puppet-rubymine

1
star
75

puppet-nmap

boxen nmap module
1
star
76

puppet-geoip

Install GeoIP.
1
star
77

puppet-transmission

1
star
78

puppet-fluid

1
star
79

puppet-dashlane

1
star
80

puppet-graphviz

Install GraphViz.
1
star
81

puppet-gyp

GYP module for Boxen
1
star
82

puppet-zeromq

1
star
83

puppet-qt

Ruby
1
star
84

puppet-gpgme

Install GPGme.
1
star
85

puppet-undercover

1
star
86

puppet-divvy

Install Divvy, a window resizer.
1
star
87

puppet-sparrow

1
star
88

puppet-istatmenus4

iStat Menus v4
1
star
89

puppet-pycharm

1
star
90

puppet-solr

Install Solr
1
star
91

puppet-skitch

Install Skitch 1.0
1
star
92

puppet-shiftit

1
star
93

puppet-clojure

Install the Clojure programming language.
1
star
94

puppet-vmware_fusion

Ruby
1
star
95

puppet-sudo

Ruby
1
star
96

puppet-autoconf

Install the autoconf development framework.
1
star
97

puppet-league_of_legends

Puppet Boxen module for League of Legends
1
star
98

puppet-zshgitprompt

ZSH Git Prompt, for great justice
1
star
99

puppet-colloquy

Install the Colloquy IRC client.
1
star