jerakia 2.1.0 → 2.2.0

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: 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: []