jerakia 2.1.0 → 2.2.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: 720b8d35cb80a854ba236ca1c4d7bcf1b0c3f1c5
4
- data.tar.gz: 8437f36c2f1e02dd0b0b6210ad5850055f7cc994
3
+ metadata.gz: 2d60cfa4acc9acaa66de455ac86989fd4b13a7f1
4
+ data.tar.gz: 301df6f518a33f3a04b6149094a7e5a89ac9e174
5
5
  SHA512:
6
- metadata.gz: 208410b58d4efadccbcf853d077d8594f9514d3bbfc6a3b2bb4c5a4037ceded7ed722856f145ef4f408bea614eaf311faa36c845be8fc03698b2808ac02e3f04
7
- data.tar.gz: 358407a6611a4e2c05a1a6bb9a0500532523108ef4e69b59cd221b7901e14c62a67ab537cedb3841550a53dde0bb28cf4972ae455c12a8ef17432fa8b5066556
6
+ metadata.gz: f23a7ff628bedf5d28e6d7388a36965a04d7772b8f105f1562d7735721df7588595abd79d25915a1e02c38f05f5d4afb7ad5fd42d88adc6047dc00e2cd39040b
7
+ data.tar.gz: 87c327d5e699a47e3b46936fa05ff0ea9e09977574158067bab102ebee9c369a5029476ba993eacbb0c1a8cf6c92298ebff5cc57771e19423808cacde0174a7a
data/lib/jerakia.rb CHANGED
@@ -42,6 +42,7 @@ class Jerakia
42
42
  end
43
43
 
44
44
  def lookup(request)
45
+ raise Jerakia::PolicyError, "Policy '#{request.policy}' not defined" unless launcher.policy_exists?(request.policy)
45
46
  launcher.policies[request.policy.to_sym].run(request)
46
47
  end
47
48
 
data/lib/jerakia/cli.rb CHANGED
@@ -6,6 +6,7 @@ require 'jerakia/cli/server'
6
6
  require 'jerakia/cli/token'
7
7
  require 'jerakia/cli/lookup'
8
8
  require 'jerakia/cli/secret'
9
+ require 'jerakia/cli/config'
9
10
 
10
11
  class Jerakia
11
12
  class CLI < Thor
@@ -13,6 +14,7 @@ class Jerakia
13
14
  include Jerakia::CLI::Lookup
14
15
  include Jerakia::CLI::Token
15
16
  include Jerakia::CLI::Secret
17
+ include Jerakia::CLI::Config
16
18
 
17
19
 
18
20
  desc 'version', 'Version information'
@@ -0,0 +1,20 @@
1
+ class Jerakia
2
+ class CLI < Thor
3
+ module Config
4
+ def self.included(thor)
5
+ thor.class_eval do
6
+ desc 'config <options>', 'Print the runtime configuration options'
7
+ option :config,
8
+ aliases: :c,
9
+ type: :string,
10
+ desc: 'Configuration file'
11
+ def config
12
+ require 'yaml'
13
+ jerakia = Jerakia.new(:config => options[:config])
14
+ puts jerakia.config.to_hash.to_yaml
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -3,7 +3,7 @@ class Jerakia
3
3
  module Server
4
4
  def self.included(thor)
5
5
  thor.class_eval do
6
- desc 'server', 'Start the Jerakia REST server'
6
+ desc 'server <options>', 'Start the Jerakia REST server'
7
7
  option :config,
8
8
  aliases: :c,
9
9
  type: :string,
@@ -15,11 +15,11 @@ class Jerakia
15
15
  option :verbose,
16
16
  aliases: :v,
17
17
  type: :boolean,
18
- desc: 'Print verbose information'
18
+ desc: 'Log to STDOUT in verbose mode'
19
19
  option :debug,
20
20
  aliases: :D,
21
21
  type: :boolean,
22
- desc: 'Debug information to console, implies --log-level debug'
22
+ desc: 'Log to STDOUT in debug mode'
23
23
  def server
24
24
  case true
25
25
  when options[:verbose]
@@ -20,6 +20,7 @@ class Jerakia::Config
20
20
  def defaults
21
21
  {
22
22
  'policydir' => '/etc/jerakia/policy.d',
23
+ 'plugindir' => '/var/lib/jerakia/plugins',
23
24
  'logfile' => '/var/log/jerakia/jerakia.log',
24
25
  'databasedir' => '/var/db/jerakia',
25
26
  'loglevel' => 'info',
@@ -29,6 +30,10 @@ class Jerakia::Config
29
30
  }
30
31
  end
31
32
 
33
+ def to_hash
34
+ @configdata
35
+ end
36
+
32
37
  def [](key)
33
38
  @configdata[key.to_s]
34
39
  end
@@ -19,6 +19,10 @@ class Jerakia
19
19
  end
20
20
  end
21
21
 
22
+ def policy_exists?(policy)
23
+ @policies.has_key?(policy.to_sym)
24
+ end
25
+
22
26
  def policy_dir
23
27
  Jerakia.config.policydir
24
28
  end
@@ -3,5 +3,5 @@ class Jerakia
3
3
  #
4
4
  # This should be updated when a new gem is released and it is read from the gemspec file
5
5
  #
6
- VERSION = '2.1.0'.freeze
6
+ VERSION = '2.2.0'.freeze
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jerakia
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Dunn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-30 00:00:00.000000000 Z
11
+ date: 2017-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -122,6 +122,7 @@ files:
122
122
  - lib/jerakia/cache/entry.rb
123
123
  - lib/jerakia/cache/file.rb
124
124
  - lib/jerakia/cli.rb
125
+ - lib/jerakia/cli/config.rb
125
126
  - lib/jerakia/cli/lookup.rb
126
127
  - lib/jerakia/cli/secret.rb
127
128
  - lib/jerakia/cli/server.rb
@@ -166,7 +167,7 @@ files:
166
167
  - lib/jerakia/version.rb
167
168
  homepage: http://jerakia.io
168
169
  licenses:
169
- - Apache 2.0
170
+ - Apache-2.0
170
171
  metadata: {}
171
172
  post_install_message:
172
173
  rdoc_options: []