Need help with vagrant-butcher?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

c10l
127 Stars 13 Forks MIT License 166 Commits 4 Opened issues

Description

Delete Chef client and node when destroying Vagrant VM

Services available

!
?

Need anything else?

Contributors list

No Data

Gem Version Build Status Code Climate

Vagrant::Butcher

If you're using Vagrant with the Chef-Client provisioner it creates a client and a node on the Chef server when the VM spins up.

This plugin will automatically get rid of that cruft for you when you destroy the VM.

Installation

Install this plugin using the Vagrant command line:

$ vagrant plugin install vagrant-butcher

Usage

The plugin is loaded automatically once installed.

Configuration

For most cases, the plugin shouldn't need any configuration. However, there are a few options that can be set. The options are all set in the

Vagrantfile
in the format:
Vagrant.configure("2") do |config|
  ...
  config.butcher. = 
  ...
end

| Option | Default Value | Purpose | | ---------------- | ------------------------ | ---------------------------------------------------------------------- | |

enabled
|
true
| Defines whether
node
and
client
should be deleted | |
guest_key_path
|
'/etc/chef/client.pem'
| Location of the client key in the guest VM | |
verify_ssl
|
true
| If set to false, does not verify Chef's host key | |
proxy
|
nil
| Inform the URL of a proxy server between your host and the Chef Server | |
client_name
| Guest's node name | Inform a client name to override the plugin's default behaviour | |
client_key
| Guest's client key | Point to a local
.pem
key file that matches the
client_name
|

Caveats

  • So far this has only been tested and confirmed to run with the VirtualBox and Rackspace provisioners. It should work with others, but if you run into issues please file a bug.
  • The default
    .
    ->
    /vagrant
    shared folder should be mounted.
  • verify_ssl
    is enabled by default. You might want to disable that if, for example, you run your own Chef server with a self-signed cert. Check here to see how.

Changelog

2.3.0

  • Fix logger spam caused by Hashie used in Ridley (see issue)

2.2.0

  • Removed compatibility with Vagrant < 1.5
  • Fixes an issue with recent Vagrant versions where the butcher sequence would never run
  • Sets default
    guest_key_path
    depending on OS
  • Tested and confirmed working on Windows and Linux

2.0.0

  • No more option to point to
    knife.rb
    . Data is retrieved from the
    Vagrantfile
    's
    chef_client
    provisioner
  • chef
    is no longer a requirement (no more
    json
    conflicts)
  • Configuration items were added to point to custom client name and key
  • It's possible to disable the plugin by setting the
    enabled
    flag to
    false
    in the Vagrantfile.

See Configuration for all possible customisations.

1.1.0

  • :auto was added as an optional value for knifeconfigfile

1.0.1

  • Support for Vagrant 1.2

1.0.0

  • Support for Vagrant 1.x (it's been tested on 1.1.4, but should work on previous minor releases) -- if you're using a pre-1.0 Vagrant release, stick to vagrant-butcher 0.0.3.
  • Configuration change.
  • Installation via
    vagrant plugin
    only.
  • Provider-independent. Read more

0.0.3

  • Uses chef.nodename if set. Otherwise, fall back to vm.hostname (as before), or vm.box. -- Kudos to pikesley.

Authors

Contributing

  1. Fork it
  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 new Pull Request

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.