koma 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b3b8d86a789ed3ff3c5545798e9cdd974822c2ec
4
- data.tar.gz: fe3ac5b2c55c6c8a17c05a1b294d713611718a91
3
+ metadata.gz: 1e5aab9738be1d947920d666285013ccf374ff92
4
+ data.tar.gz: 3c073c470b674df0fc401e251e8f1b9f55ae1af9
5
5
  SHA512:
6
- metadata.gz: 55fbf28ad7bd93ddbf7d48e63ba4aaa2259aa30ccf06de24a3dd5be1478acb2f348e6375cdd87603c5fd2c31b756ab3b02ed7ccea5cd58c032aec9374f26cc7c
7
- data.tar.gz: efa90f0252eaaaf04b689d0bad5cb4845624843994f8dd952afaf44ee6e34331ae0776996c40d86603337f35d56b3993501e08e7aed76c039f0fdaaf27da8160
6
+ metadata.gz: 6a18bb06c7e5523532fd2595929dbccfb4db85f0a7e16449b95a3460c6931527f91053a0da7b09206f025678b3f63e3c5c5f75c04abede35ef27816adc805827
7
+ data.tar.gz: 547d73eb184b41c174900580a09da841daf2479d9d98c093bd52378757895cd5b71c722d563e21034730973be391d6415d87e9a0225e520f03c55508d6f3a64c
data/lib/koma.rb CHANGED
@@ -2,10 +2,12 @@ require 'rubygems'
2
2
  require 'net/ssh'
3
3
  require 'specinfra'
4
4
  require 'specinfra/helper/set'
5
+ require 'koma/version'
6
+ require 'koma/error'
5
7
  require 'koma/ext'
8
+ require 'koma/host_inventory'
6
9
  require 'koma/backend'
7
10
  require 'koma/cli'
8
- require 'koma/version'
9
11
 
10
12
  module Koma
11
13
  end
@@ -1,11 +1,12 @@
1
1
  include Specinfra::Helper::Set
2
2
 
3
3
  class Koma::Backend::Base
4
- attr_reader :host, :options
4
+ attr_reader :host, :options, :inventory_keys
5
5
 
6
6
  def initialize(host, options)
7
7
  @host = host
8
8
  @options = options
9
+ @inventory_keys = Koma::HostInventory.inventory_keys
9
10
  end
10
11
 
11
12
  def out(key = nil)
@@ -15,7 +16,12 @@ class Koma::Backend::Base
15
16
  else
16
17
  key.split(',')
17
18
  end
19
+ Koma::HostInventory.disabled_keys.each do |k|
20
+ keys.push(k) if @options["with-#{k}"]
21
+ end
22
+
18
23
  keys.each do |k|
24
+ raise Koma::NotImplementedKeyError unless Koma::HostInventory.all_inventory_keys.include?(k)
19
25
  begin
20
26
  out[k] = Specinfra.backend.host_inventory[k]
21
27
  out[k] = Specinfra.backend.host_inventory[k].inspect if k == 'ec2'
@@ -25,8 +31,4 @@ class Koma::Backend::Base
25
31
  end
26
32
  out
27
33
  end
28
-
29
- def inventory_keys
30
- Specinfra::HostInventory.inventory_keys
31
- end
32
34
  end
@@ -3,8 +3,6 @@ require 'parallel'
3
3
  module Koma
4
4
  module Backend
5
5
  class Ssh < Base
6
- attr_reader :host, :options
7
-
8
6
  def gather
9
7
  if host.include?(',')
10
8
  list = host.split(',')
data/lib/koma/cli.rb CHANGED
@@ -24,6 +24,11 @@ module Koma
24
24
  banner: '<port>',
25
25
  desc: 'port',
26
26
  aliases: :p
27
+ Koma::HostInventory.disabled_keys.each do |key|
28
+ option "with-#{key}",
29
+ type: :boolean,
30
+ desc: "enable #{key}"
31
+ end
27
32
  def ssh(host)
28
33
  backend = Koma::Backend::Ssh.new(host, options)
29
34
  if options[:yaml]
@@ -43,6 +48,11 @@ module Koma
43
48
  type: :boolean,
44
49
  desc: 'stdout YAML',
45
50
  aliases: :y
51
+ Koma::HostInventory.disabled_keys.each do |key|
52
+ option "with-#{key}",
53
+ type: :boolean,
54
+ desc: "enable #{key}"
55
+ end
46
56
  def exec
47
57
  backend = Koma::Backend::Exec.new(nil, options)
48
58
  if options[:yaml]
@@ -54,7 +64,8 @@ module Koma
54
64
 
55
65
  desc 'keys', 'host inventory keys'
56
66
  def keys
57
- Specinfra::HostInventory.inventory_keys.each do |key|
67
+ Koma::HostInventory.all_inventory_keys.each do |key|
68
+ key += ' (disabled)' if Koma::HostInventory.disabled_keys.include?(key)
58
69
  puts key
59
70
  end
60
71
  end
data/lib/koma/error.rb ADDED
@@ -0,0 +1,4 @@
1
+ module Koma
2
+ class NotImplementedKeyError < StandardError
3
+ end
4
+ end
data/lib/koma/ext.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'koma/ext/specinfra/host_inventory'
1
+ require 'koma/ext/specinfra/host_inventory/base'
2
2
  require 'koma/ext/specinfra/host_inventory/parser'
3
3
 
4
4
  require 'koma/ext/specinfra/command/base/inventory'
@@ -1,12 +1,18 @@
1
- require 'koma/ext/specinfra/host_inventory/base'
2
- require 'koma/ext/specinfra/host_inventory/parser'
3
-
4
- module Specinfra
1
+ module Koma
5
2
  class HostInventory
6
3
  EXTRA_KEYS = %w(package user group service)
4
+ DISABLED_KEYS = %w(ec2)
7
5
 
8
6
  def self.inventory_keys
9
- KEYS + EXTRA_KEYS
7
+ Specinfra::HostInventory::KEYS + EXTRA_KEYS - DISABLED_KEYS
8
+ end
9
+
10
+ def self.all_inventory_keys
11
+ Specinfra::HostInventory::KEYS + EXTRA_KEYS
12
+ end
13
+
14
+ def self.disabled_keys
15
+ DISABLED_KEYS
10
16
  end
11
17
 
12
18
  def each
@@ -29,6 +35,6 @@ module Specinfra
29
35
  end
30
36
  end
31
37
 
32
- Specinfra::HostInventory::EXTRA_KEYS.each do |k|
38
+ Koma::HostInventory::EXTRA_KEYS.each do |k|
33
39
  require "koma/ext/specinfra/host_inventory/#{k}"
34
40
  end
data/lib/koma/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Koma
2
- VERSION = '0.6.0'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: koma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - k1LoW
@@ -176,11 +176,11 @@ files:
176
176
  - lib/koma/backend/exec.rb
177
177
  - lib/koma/backend/ssh.rb
178
178
  - lib/koma/cli.rb
179
+ - lib/koma/error.rb
179
180
  - lib/koma/ext.rb
180
181
  - lib/koma/ext/specinfra/command/base/inventory.rb
181
182
  - lib/koma/ext/specinfra/command/redhat/base/inventory.rb
182
183
  - lib/koma/ext/specinfra/command/redhat/v7/inventory.rb
183
- - lib/koma/ext/specinfra/host_inventory.rb
184
184
  - lib/koma/ext/specinfra/host_inventory/base.rb
185
185
  - lib/koma/ext/specinfra/host_inventory/group.rb
186
186
  - lib/koma/ext/specinfra/host_inventory/package.rb
@@ -193,6 +193,7 @@ files:
193
193
  - lib/koma/ext/specinfra/host_inventory/parser/redhat/v7/service.rb
194
194
  - lib/koma/ext/specinfra/host_inventory/service.rb
195
195
  - lib/koma/ext/specinfra/host_inventory/user.rb
196
+ - lib/koma/host_inventory.rb
196
197
  - lib/koma/version.rb
197
198
  - stdout_sample.json
198
199
  homepage: https://github.com/k1LoW/koma