itamae 1.0.0.beta34 → 1.0.0.beta35

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 35649d044a624b2d15b00968214ab5a9bbdec57d
4
- data.tar.gz: 5f221d3341a367ba33934195034f2b146f04d992
3
+ metadata.gz: 604c4ca5d5f163d3da6cb818dee4c5978ce5c3e8
4
+ data.tar.gz: a819f6d02d1229fc3cf7c072d080843daaabe348
5
5
  SHA512:
6
- metadata.gz: a19fe887f749d27ca6f9b9c4eef51a974711f8a79257d2ec6cb8e41e177bd8ed37144a42ba652845a88465d7740a1e8d5641d1e508fcff09a13251152c5282be
7
- data.tar.gz: e9fb236ceda5b1901c940053369a75cd37da70e1030a546e2f6a18d92ec49f72eadac7223d9b4221e990657f7f7e200768353a633c63ca9407f2e957db577e29
6
+ metadata.gz: 6d0c852666278903d4303dab36296cb04247a02aa400f550c842010280ee97fde27d84d0c1b1413e83b16617215728f25fa411a10c8aff2b815611ac3bfcabb7
7
+ data.tar.gz: 25b9655e55512fce6d744787d2fd23bc4df68dc40fe5aad22523d4e3347a5a6d9e052900a171b3745c9080694c35ed3def32efec0f8d1a5c0ee897b91b368f6e
data/lib/itamae/cli.rb CHANGED
@@ -33,6 +33,7 @@ module Itamae
33
33
  option :key, type: :string, aliases: ['-i']
34
34
  option :port, type: :numeric, aliases: ['-p']
35
35
  option :ohai, type: :boolean, default: false
36
+ option :vagrant, type: :boolean, default: false
36
37
  def ssh(*recipe_files)
37
38
  if recipe_files.empty?
38
39
  raise "Please specify recipe files."
data/lib/itamae/logger.rb CHANGED
@@ -62,13 +62,24 @@ module Itamae
62
62
 
63
63
  class << self
64
64
  def logger
65
- @logger ||= ::Logger.new($stdout).tap do |logger|
66
- logger.formatter = Formatter.new
67
- end
65
+ @logger ||= create_logger
68
66
  end
69
67
 
70
- def logger=(l)
71
- @logger = l
68
+ def log_device
69
+ @log_device || $stdout
70
+ end
71
+
72
+ def log_device=(value)
73
+ @log_device = value
74
+ @logger = create_logger
75
+ end
76
+
77
+ private
78
+
79
+ def create_logger
80
+ ::Logger.new(log_device).tap do |logger|
81
+ logger.formatter = Formatter.new
82
+ end
72
83
  end
73
84
 
74
85
  def method_missing(method, *args, &block)
@@ -12,17 +12,21 @@ module Itamae
12
12
  define_attribute :group, type: String
13
13
 
14
14
  def pre_action
15
- src = if content_file
16
- content_file
17
- else
18
- Tempfile.open('itamae') do |f|
15
+ begin
16
+ src = if content_file
17
+ content_file
18
+ else
19
+ f = Tempfile.open('itamae')
19
20
  f.write(content)
21
+ f.close
20
22
  f.path
21
23
  end
22
- end
23
24
 
24
- @temppath = ::File.join(runner.tmpdir, Time.now.to_f.to_s)
25
- send_file(src, @temppath)
25
+ @temppath = ::File.join(runner.tmpdir, Time.now.to_f.to_s)
26
+ send_file(src, @temppath)
27
+ ensure
28
+ f.unlink if f
29
+ end
26
30
 
27
31
  case @current_action
28
32
  when :create
data/lib/itamae/runner.rb CHANGED
@@ -49,6 +49,13 @@ module Itamae
49
49
  opts[:user] = options[:user] || Etc.getlogin
50
50
  opts[:keys] = [options[:key]] if options[:key]
51
51
  opts[:port] = options[:port] if options[:port]
52
+
53
+ if options[:vagrant]
54
+ config = Tempfile.new('', Dir.tmpdir)
55
+ `vagrant ssh-config #{opts[:host]} > #{config.path}`
56
+ opts.merge!(Net::SSH::Config.for(opts[:host], [config.path]))
57
+ opts[:host] = opts.delete(:host_name)
58
+ end
52
59
  end
53
60
 
54
61
  Backend.instance.set_type(type, opts)
@@ -1 +1 @@
1
- 1.0.0.beta34
1
+ 1.0.0.beta35
@@ -5,7 +5,7 @@ module Itamae
5
5
  let(:io) { StringIO.new }
6
6
 
7
7
  before do
8
- Logger.logger = ::Logger.new(io)
8
+ Logger.log_device = io
9
9
  end
10
10
 
11
11
  [:fatal, :error, :warn, :info, :debug].each do |level|
@@ -18,5 +18,5 @@ RSpec.configure do |config|
18
18
  config.order = 'random'
19
19
  end
20
20
 
21
- Itamae::Logger.logger = ::Logger.new(StringIO.new)
21
+ Itamae::Logger.log_device = StringIO.new
22
22
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itamae
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta34
4
+ version: 1.0.0.beta35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryota Arai