--- !ruby/object:Gem::Specification name: builderator version: !ruby/object:Gem::Version version: 1.0.0.pre.rc.1 platform: ruby authors: - John Manero autorequire: bindir: bin cert_chain: [] date: 2016-01-08 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rake requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '10.0' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '10.0' - !ruby/object:Gem::Dependency name: rspec requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '3.0' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '3.0' - !ruby/object:Gem::Dependency name: rubocop requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '0.35' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '0.35' - !ruby/object:Gem::Dependency name: thor-scmversion requirement: !ruby/object:Gem::Requirement requirements: - - '=' - !ruby/object:Gem::Version version: 1.7.0 type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - '=' - !ruby/object:Gem::Version version: 1.7.0 - !ruby/object:Gem::Dependency name: aws-sdk requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '2.0' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '2.0' - !ruby/object:Gem::Dependency name: bundler requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: 1.7.0 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: 1.7.0 - !ruby/object:Gem::Dependency name: berkshelf requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '3.2' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '3.2' - !ruby/object:Gem::Dependency name: chef requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '12.0' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '12.0' - !ruby/object:Gem::Dependency name: faraday_middleware requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: 0.10.0 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: 0.10.0 - !ruby/object:Gem::Dependency name: ignorefile requirement: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' - !ruby/object:Gem::Dependency name: thor requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: 0.19.0 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: 0.19.0 description: | # Builderator Orchestration and configuration of the code development life-cycle. ## Commands ### `local [PROFILE = default]` Provision a local VM using Vagrant and, by default, VirtualBox. Uses Berkshelf to fetch cookbooks, and Chef to provision the VM. ### `ec2 [PROFILE = default]` Provision an EC2 VM using Vagrant. Same workflow as `local` using the `vagrant-aws` plugin. ### `release [PROFILE = default]` Perform release tasks and execute Packer builds with released artifacts. ## Configuration Configuration can be loaded from DSL files as well as JSON and command line arguments. By default, Builderator searches in your home directory (`$HOME/.builderator/Buildfile`) and the working directory (`./Builderator`) for DSL files. Configuration sources are layered and flattened into a single DSL in the following order: * Global defaults defined in the Builderator sources * `Config.defaults` set by plugins, tasks, etc. in code * `$HOME/.builderator/Buildfile` * `./Buildfile` * `Config.overrides` set by plugins, tasks, etc. in code * CLI arguments loaded from Thor [Additional documentation](docs/configuration.md) describes the configuration DSL interface. ## Integrations Builderator integrates with other tools, including [Berkshelf](http://berkshelf.com), [Vagrant](https://www.vagrantup.com/), and [Packer](https://www.packer.io/), to orchestrate workflows by generating `Berksfile`s, `Vagrantfile`s, and JSON strings for Packer. This means that you can replace all of these files in your project with a single `Buildfile`. ### Packer The Packer integration generates Packer JSON and passes it to STDIN of `packer build -`. *NOTE* Currently, we assume that you're building Ubuntu images, as one of the provisioners is hard-coded to chown the Chef data directories to `ubuntu:ubuntu` ## Versioning Builderator can automatically detect versions from SCM tags, increment the latest version of an SCM branch by a variety of steps, and create new SCM tags for new versions. [Additional documentation](docs/versioning.md) describes CLI commands, configuration, and detailed behavior. ## Generators Builderator includes a task to generate common project trees from configuration definitions and templates. Each type of project is configurable via the project collection in the `generator` namespace: ```ruby generator.project :default do |default| default.ruby.version '2.1.5' default.builderator.version '~> 1.0' default.vagrant do |vagrant| vagrant.install false vagrant.version 'v1.8.0' vagrant.plugin 'vagrant-aws' vagrant.plugin 'vagrant-omnibus' end default.resource :berksfile do |berksfile| berksfile.path 'Berksfile', 'Berksfile.lock' berksfile.action :rm end default.resource :buildfile do |buildfile| buildfile.path 'Buildfile' buildfile.action :create buildfile.template 'template/Buildfile.erb' end # ... end ``` Valid actions for resources include `:ignore`, `:create` (update only if missing), `:sync` (create or update with prompt), and `:rm`. `:create` and `:sync` actions require a valid template source. By default, the `generator` subcommand includes a `default` project which removes Vagrant, Berkshelf, and Packer configurations. email: - jmanero@rapid7.com executables: - build - build-clean - build-data extensions: [] extra_rdoc_files: [] files: - Gemfile - Gemfile.lock - LICENSE.txt - README.md - Rakefile - Thorfile - VERSION - bin/build - bin/build-clean - bin/build-data - builderator.gemspec - docs/clean.md - docs/configuration.md - docs/configuration/cookbook.md - docs/configuration/profile.md - docs/versioning.md - lib/builderator.rb - lib/builderator/config.rb - lib/builderator/config/attributes.rb - lib/builderator/config/defaults.rb - lib/builderator/config/file.rb - lib/builderator/config/rash.rb - lib/builderator/control/cleaner.rb - lib/builderator/control/cookbook.rb - lib/builderator/control/data.rb - lib/builderator/control/data/image.rb - lib/builderator/control/version.rb - lib/builderator/control/version/auto.rb - lib/builderator/control/version/bump.rb - lib/builderator/control/version/comparable.rb - lib/builderator/control/version/git.rb - lib/builderator/control/version/scm.rb - lib/builderator/interface.rb - lib/builderator/interface/berkshelf.rb - lib/builderator/interface/packer.rb - lib/builderator/interface/vagrant.rb - lib/builderator/metadata.rb - lib/builderator/model/cleaner.rb - lib/builderator/model/cleaner/images.rb - lib/builderator/model/cleaner/instances.rb - lib/builderator/model/cleaner/launch_configs.rb - lib/builderator/model/cleaner/scaling_groups.rb - lib/builderator/model/cleaner/snapshots.rb - lib/builderator/model/cleaner/volumes.rb - lib/builderator/patch/berkshelf.rb - lib/builderator/patch/thor-actions.rb - lib/builderator/tasks.rb - lib/builderator/tasks/berkshelf.rb - lib/builderator/tasks/cookbook.rb - lib/builderator/tasks/packer.rb - lib/builderator/tasks/vagrant.rb - lib/builderator/tasks/vendor.rb - lib/builderator/tasks/version.rb - lib/builderator/util.rb - lib/builderator/util/aws_exception.rb - lib/builderator/util/limit_exception.rb - lib/builderator/util/task_exception.rb - mkmf.log - spec/config_spec.rb - spec/data/Berksfile - spec/data/Buildfile - spec/data/Vagrantfile - spec/data/history.json - spec/data/packer.json - spec/interface_spec.rb - spec/resource/Buildfile - spec/spec_helper.rb - spec/version_spec.rb - template/Berksfile.erb - template/Buildfile.erb - template/Gemfile.erb - template/README.md.erb - template/Vagrantfile.erb - template/gitignore.erb - template/rubocop.erb homepage: https://github.com/rapid7/builderator licenses: - MIT metadata: {} post_install_message: rdoc_options: [] require_paths: - lib required_ruby_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' required_rubygems_version: !ruby/object:Gem::Requirement requirements: - - ">" - !ruby/object:Gem::Version version: 1.3.1 requirements: [] rubyforge_project: rubygems_version: 2.4.5 signing_key: specification_version: 4 summary: Tools to make CI Packer builds awesome test_files: - spec/config_spec.rb - spec/data/Berksfile - spec/data/Buildfile - spec/data/Vagrantfile - spec/data/history.json - spec/data/packer.json - spec/interface_spec.rb - spec/resource/Buildfile - spec/spec_helper.rb - spec/version_spec.rb has_rdoc: