🟢 Stable
Go to file
cassiano c6d4e57554 Do not modify Vagrant core object
Using [Array#keep_if](http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-keep_if) on a Vagrant core object can lead to unpredictable behaviour down the line as it modifies the object instead of creating a new one.

An example of such interference is described on https://github.com/cassianoleal/vagrant-butcher/issues/57. The problem with `keep_if` was identified by @sethvargo on this issue: https://github.com/mitchellh/vagrant/issues/5060#issuecomment-68107995
2014-12-25 18:33:34 +01:00
development Download a specific version of vagrant-cachier tarball instead of master so that it can be cached properly 2014-04-06 22:28:15 -03:00
docs Move bower docs to buckets dir 2014-10-15 01:25:38 -03:00
lib Do not modify Vagrant core object 2014-12-25 18:33:34 +01:00
locales Remove unused locale 2014-07-20 20:28:12 -03:00
spec/acceptance Use vagrant cloud base boxes for sanity checks 2014-07-20 19:59:27 -03:00
.gitignore Replace java cookbook usage with a simple remote_file cookbook to simplify testing 2014-04-06 22:23:27 -03:00
CHANGELOG.md v1.1.0 2014-10-15 01:28:54 -03:00
Gemfile Bump version to 1.0 along with an update to dev dependencies 2014-09-22 22:22:03 -03:00
Gemfile.lock v1.1.0 2014-10-15 01:28:54 -03:00
LICENSE.txt 🎆 New year 🎆 2014-01-02 00:51:05 -02:00
Rakefile Look ma, first public release and no specs! 2013-05-22 20:37:14 -03:00
README.md Add link to gitter to readme 2014-08-09 16:21:12 -03:00
vagrant-cachier.gemspec 💣 post install message 2014-09-22 22:24:54 -03:00

vagrant-cachier

Gem Version Gittip Gitter chat

A Vagrant plugin that helps you reduce the amount of coffee you drink while waiting for boxes to be provisioned by sharing a common package cache among similiar VM instances. Kinda like vagrant-apt_cache or this magical snippet but targetting multiple package managers and Linux distros.

Installation

Make sure you have Vagrant 1.4+ and run:

vagrant plugin install vagrant-cachier

Quick start

Vagrant.configure("2") do |config|
  config.vm.box = 'your-box'
  if Vagrant.has_plugin?("vagrant-cachier")
    # Configure cached packages to be shared between instances of the same base box.
    # More info on http://fgrehm.viewdocs.io/vagrant-cachier/usage
    config.cache.scope = :box

    # OPTIONAL: If you are using VirtualBox, you might want to use that to enable
    # NFS for shared folders. This is also very useful for vagrant-libvirt if you
    # want bi-directional sync
    config.cache.synced_folder_opts = {
      type: :nfs,
      # The nolock option can be useful for an NFSv3 client that wants to avoid the
      # NLM sideband protocol. Without this option, apt-get might hang if it tries
      # to lock files needed for /var/cache/* operations. All of this can be avoided
      # by using NFSv4 everywhere. Please note that the tcp option is not the default.
      mount_options: ['rw', 'vers=3', 'tcp', 'nolock']
    }
    # For more information please check http://docs.vagrantup.com/v2/synced-folders/basic_usage.html
  end
end

For more information please read the documentation available at http://fgrehm.viewdocs.io/vagrant-cachier.

Providers that are known to work

Please note that as of v0.6.0 the plugin will automatically disable any previously defined configs for cloud providers

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