Skip to content

rynbrd/rigger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rigger

A tool to build OS images in a repeatable fashion.

How It Works

Rigger's primary purpose is to enforce repeatability in the image build process while maintaining ease of use. It maintains specific versions of its own dependencies in an effort to minimize the effects of version changes. It uses Packer for all the heavy lifting and sets constraints around how Packer is called.

Rigger has two directories related to the image build process. These are:

  • sources Image sources are stored in subdirectories of this path. Each source should have a template.json which Packer will execute. Rigger will cd to the sources's directory before calling Packer easing the use of relative paths in the template.json file.

  • artifacts Build outputs are placed in this location. The path to this is passed to the packer template in the artifacts user variable.

Rigger keeps a cache of its dependencies, as well as a log of the last run, in .data. The Packer cache is also kept under this location.

Calling Rigger

Rigger is currently called as follows:

./rigger -s source -v version [-p platforms] [-b branch] [-u name=value [...]]

  • source - This is the name of a subdirectory under sources containing the image source definition. It may also be a git repo in which case it is cloned into a directory under sources. Subsequent calls will stash and fetch changes.

  • version - This is the version of the image to build. This is passed to Packer as the version user variable.

  • platforms - A comma separated list of platforms to build for. Default to all platforms in a source.

  • branch - If source is a git repo then this branch will be checked out.

  • name=value - Additional user variables to pass to Packer.

Source Configuration

Sources are configured in two ways: through the use of an optional sources.cfg file in the Rigger root directory and an optional configure file in source root directory. These are bash files and, if they exist, are sourced by the rigger script. See the CoreOS source for an example of this usage.

License

This software project is licensed under the BSD-derived license and is copyright (c) 2014 Ryan Bourgeois. A copy of the license is included in the LICENSE file. If it is missing then a copy may be found on the project page.

About

Repeatable image builder.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages