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:
- AWS Session Manager Transport
- Docker Transport: no additional options
- Serial/USB Transport
- SSH Transport
- Telnet Transport
- WinRM Transport