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.