Giter Site home page Giter Site logo

boxes's Introduction

boxes

boxes takes the complexity out of building custom Vagrant boxes.

It's a command line tool which provides a set of templates and scripts to combine as you need. There are also a set of pre-build boxes which are regenerated regularly.

Installation & Requirements

[sudo] gem install boxes

boxes leans on Packer and VirtualBox, VMware Fusion or VMware Workstation for building boxes and these will need to available in your $PATH.

Usage

boxes is driven by the boxes command line tool, and works with artifacts inside it's own working directory. You need to specify a name for the build, a template to work with and the output provider. Something like so:

boxes build --name=trusty64-empty --template=ubuntu/trusty64 --provider=vmware

This will build a file called trusty64-empty.box in the current directory.

There's lots more to boxes than building simple empty Vagrant boxes like this, which can be see in the inline help.

Contributing

  1. Fork it ( https://github.com/nickcharlton/boxes/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Author

Copyright (c) 2013 Nick Charlton [email protected]

boxes's People

Contributors

benjamineskola avatar danielgroves avatar jnj-devops avatar nickcharlton avatar patrickheeney avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

boxes's Issues

Builds don't cancel when boxes is interrupted.

If you Ctrl-C a running operation, the thread controlling packer should receive it too.

A single Ctrl-C should request packer to stop, a "double" Ctrl-C should kill the thread and tidy up.

Wheezy no longer on mirror.

Due to wheezy being very old it no longer exists on most Debian CD mirrors. Below is a list of the mirrors that still carried it (or at least the amd64 arch) recently.

    http://debian.inode.at
    http://debian.carnet.hr
    http://ftp.carnet.hr
    http://debian.fastweb.it
    http://giano.com.dist.unige.it
    http://ftp.icm.edu.pl/pub/Linux
    http://debian.ethz.ch

Organization

Great project! I wanted to compile my thoughts while using this and hopefully contribute some in the process. The goal for me is to get this working with ansible and add some more machines like centos. I am not that famaliar with ruby or rake so hopefully you can give me a bit of guidance so I can submit some pull requests.

Default build

When I add another provisioner "ansible" and another distro "centos", the rake -T list gets pretty long. I think rake default should be renamed to rake all. The other issue is I don't need standard, chef, puppet so I was trying to think of a better command without manually typing out each box configuration.

Does rake have anything available to do something like rake build --type=ansible which would run all distros, targets, but only the type. Or you could run rake build --distros=debian,ubuntu --type=ansible? That way I don't have to type each configuration.

Adding centos

It looks like all the common scripts are geared toward debian based systems right now. What is a good way to re-structure this to add more systems that don't share a common debian base? Should it be common/debian/* and common/redhat/*. Since debian and ubuntu share the scripts it doesn't make sense to duplicate it in each folder.

Also I don't know that centos has codenames for builds so naming it 6.564.erb isnt appealing. Should I rename them all to raring-64.erb, centos6.5-64.erb?

I think thats it for now.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.