Class: Kitchen::Transport::Dokken

Inherits:
Base
  • Object
show all
Defined in:
lib/kitchen/transport/dokken.rb

Overview

A Transport which uses Docker tricks to execute commands and transfer files.

Author:

Defined Under Namespace

Classes: Connection

Instance Method Summary collapse

Instance Method Details

#connection(state, &block) ⇒ Object



58
59
60
61
62
63
64
65
66
# File 'lib/kitchen/transport/dokken.rb', line 58

def connection(state, &block)
  options = connection_options(config.to_hash.merge(state))

  if @connection && @connection_options == options
    reuse_connection(&block)
  else
    create_new_connection(options, &block)
  end
end

#docker_for_mac_or_win?TrueClass, FalseClass

Detect whether or not we are running in Docker for Mac or Windows

Returns:

  • (TrueClass, FalseClass)


220
221
222
223
224
# File 'lib/kitchen/transport/dokken.rb', line 220

def docker_for_mac_or_win?
  ::Docker.info(::Docker::Connection.new(config[:docker_host_url], {}))["Name"] == "docker-desktop"
rescue
  false
end