The project is in a healthy, maintained state
Use the Train transport ecosystem for all your Kitchen needs
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 3.5
 Project Readme

kitchen-transport-train

Summary

Kitchen transport to use any Train backend, which makes Test Kitchen much more modular with regards to target machines.

As Train OS Transports were inspired from Kitchen, they provide an almost identical API. This transport is basically an adapter to use Test Kitchen with all OS-style Train transports.

In contrast to normal Kitchen transports, this does not support the kitchen login command as Train is inherently non-interactive. An error will be displayed if you try to use this command.

Examples

Legacy configurations for easy SSH/WinRM connections are supported. This transport will automaticially detect Unix (ssh backend) and Windows (winrm backend) systems.

---
transport:
  name: train
  backend: ssh # optional
  ssh_key: ~/.ssh/testkitchen
---
transport:
  name: train
  backend: winrm # optional

Train-oriented configuration can optionally specify the backend transport and then add the transport-specific configuration values:

---
transport:
  name: train
  backend: ssh

  # Use the selected Train transport options here 1:1
  key_files: '...'
  compression: true
  ...

Link to Train transport options

Options user, host and password (for kitchen-ec2 and Windows instances) are set automatically.

If you want to use kitchen-ec2 with the root user however (as needed in Chef 19 Target Mode), you need to additionally specify train_user: root. This is due to a long-standing bug in Kitchen-EC2 where the standard platform's autodetected user will override manually specified root values.

Standard and community-supported options for transports: