Speed up kitchen file transfer using archives
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/kitchen/transport
spec
.gitignore
.rspec
.travis.yml
Gemfile
LICENSE
README.md
Rakefile
kitchen-transport-speedy.gemspec

README.md

Kitchen::Transport::Speedy

This gem is transport plugin for kitchen. It signicantly improves file synchronization between workstation and boxes using archive transfer instead of individual transfers.

The transport only works where ssh works and requires tar to be present both on the workstation and in the box.

Timing

On my workstation, on a already created linux box, from "kitchen converge" to the beginning of chef-client converges:

  • with speedy_ssh transport: 10 secs
  • without speedy transport: 180 secs

Please note that cookbooks + roles + environments + databags represent around 5.5k files to transfer.

Tested with test-kitchen 1.8

Installation

Add this line to your application's Gemfile:

gem 'kitchen-transport-speedy'

And then execute:

$ bundle

Or install it yourself as:

$ gem install kitchen-transport-speedy

Usage

Modify your .kitchen.yml to include:

transport:
  name: speedy_ssh

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/criteo/kitchen-transport-speedy.