pps_commons 0.1.7 → 0.1.8

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: 07ca7454ee3eff8b88fd6b5a67b597266cf82747
4
- data.tar.gz: 3fc38ebff0d36611fd2e23c413a6c96844e1e60d
3
+ metadata.gz: 077733f6f45fe8fc48e1d23a95c0ebc33084bd64
4
+ data.tar.gz: 2d30fbe452ba517f4325938771bd5ac22956f41d
5
5
  SHA512:
6
- metadata.gz: e939763cddf4a468169044430563e54bd971cca417fda63e26a89eb55d52b612db26f212d829918acab30fedd89308d88bf26effec5c1d3678d559c843876239
7
- data.tar.gz: db8feab551602a99dbc0fbdf529b74cdef02b4a4662a9451a7959653eb009df6592acd2a5d1dda71f436314738b41449e7178a09b88789ad213c13b1861a5ee3
6
+ metadata.gz: 37f56ac8aa318d4fcc2c333108c489da8c2939ddba89ea64e1df8a054e8c06834737f05062ef0de0aef57055724181a69fa3f5866e188ad55333bf624649dd00
7
+ data.tar.gz: 866b6f852eababaee476435be68765897357e5d4018695562868e81494a9688a17e6c105857a4fe225d47ee5e52a390b3a1e96a45aa98db92e2eb30fa93cad08
data/lib/pps_commons.rb CHANGED
@@ -1,18 +1,13 @@
1
1
  require 'rest-client'
2
2
  require 'json'
3
+ require 'logger'
3
4
 
4
5
  module WGU
5
6
  module PPSCommons
6
7
  def self.included(base)
7
8
  base.send :include, InstanceMethods
8
9
  end
9
- # this tells EventMachine how many threads it can use. There is a lot of Deferrals
10
- # in this project so it helps to run a higher number.
11
- # EM defaults to '20', PPS defaults to '40'
12
- def PPSCommons.unleash_the_fury_level
13
- found = ENV['PPS_THREAD_COUNT'].to_i
14
- found.eql?(0) ? 40 : found.to_i
15
- end
10
+
16
11
  # search through a hash's nested keys for crap
17
12
  def PPSCommons.deep_find(key, object=self, found=nil)
18
13
  if object.respond_to?(:key?) && object.key?(key)
@@ -23,12 +18,18 @@ module WGU
23
18
  end
24
19
  end
25
20
 
21
+ # this tells EventMachine how many threads it can use. There is a lot of Deferrals
22
+ # in this project so it helps to run a higher number.
23
+ # EM defaults to '20', PPS defaults to '40'
24
+ def PPSCommons.unleash_the_fury_level
25
+ found = ENV['PPS_THREAD_COUNT'].to_i
26
+ found.eql?(0) ? 40 : found.to_i
27
+ end
28
+
26
29
  # Common instance methods
27
30
  module InstanceMethods
28
31
  def logger(file = ENV['PPS_COMMONS_DEFAULT_LOG_LOCATION'])
29
32
  if @logger.nil?
30
- file ||= File.join('logs', 'log.log')
31
- puts "PPSCommons created a log file at #{file}"
32
33
  log = ::File.expand_path(file)
33
34
  unless ::File.exist?(log)
34
35
  log_dir = File.dirname(log)
@@ -25,14 +25,21 @@ module WGU
25
25
  end
26
26
 
27
27
  private
28
+ def self.cache_client
29
+ @cache_client ||= Aws::S3::Client.new(
30
+ access_key_id: ENV['ACCESS_KEY_ID'],
31
+ secret_access_key: ENV['SECRET_ACCESS_KEY']
32
+ )
33
+ end
34
+
28
35
  def self.client(config)
29
36
  client = ChefAPI::Connection.new(
30
- client: ENV['CM_CHEF_API_CLIENT'],
31
- endpoint: config[:endpoint],
32
- key: config[:key]
33
- )
37
+ client: ENV['CM_CHEF_API_CLIENT'],
38
+ endpoint: config[:endpoint],
39
+ key: config[:key]
40
+ )
34
41
 
35
- block_given? ? yield(client) : client
42
+ block_given? ? yield(client) : client
36
43
  end
37
44
 
38
45
  def self.clients
@@ -46,8 +53,15 @@ module WGU
46
53
 
47
54
  endpoints.map do |endpoint|
48
55
  chef_env = endpoint.gsub(/CM_CHEF_API_ENDPOINT_(\w+)$/, '\1')
49
- key_file = ENV["CM_CHEF_API_KEY_#{chef_env}"]
50
- { endpoint: ENV[endpoint], key: ::File.expand_path(key_file) }
56
+ key = self.cache_client.get_object(
57
+ bucket: ENV['PPS_PASS_CACHE'],
58
+ key: ENV["CM_CHEF_API_KEY_#{chef_env}"]
59
+ )
60
+
61
+ {
62
+ endpoint: ENV[endpoint],
63
+ key: key
64
+ }
51
65
  end
52
66
  end
53
67
  end
@@ -82,17 +82,11 @@ module WGU
82
82
  # Send a message to the appropriate receiver.
83
83
  def send_response_to(recipient, results = @results)
84
84
  msg = results.kind_of?(WGU::Sentence) ? results.log_entry : "#{results.to_s.strip}\n"
85
- msg
86
85
  logger.info(
87
86
  "#{requester.agent_name.capitalize} sending message: \"#{msg}\" to -> #{recipient}"
88
87
  )
89
88
 
90
- if @requester.agent_name.eql? :broker
91
- @connections[recipient].receive_data(msg)
92
- else
93
- requester.send_data(msg)
94
- end
95
-
89
+ @connections[recipient].receive_data(msg)
96
90
  self
97
91
  end
98
92
 
@@ -39,7 +39,7 @@ module WGU
39
39
 
40
40
  # find a good way to remove this hardcoding of 545 parent folder id
41
41
  def self.folder_lookup(*args)
42
- base_folder_id = 545
42
+ base_folder_id = ENV['SECRET_STORE_BASE_FOLDER']
43
43
  return base_folder_id if args.empty?
44
44
  query = args[0] || base_folder_id
45
45
  parent_folder_query = args[1]
@@ -126,7 +126,7 @@ module WGU
126
126
  begin
127
127
  bucket.versioning.suspend
128
128
  rescue Exception => e
129
- retry_count_for_suspend +=1
129
+ retry_count_for_suspend += 1
130
130
  sleep 3
131
131
  retry unless retry_count_for_suspend > 3
132
132
  raise e
@@ -171,11 +171,19 @@ module WGU
171
171
  end
172
172
 
173
173
  def self.get_new_key
174
+ user = self.cache_client.get_object(
175
+ bucket: ENV['PPS_PASS_CACHE'],
176
+ key: ENV['SECRET_STORE_USERNAME']
177
+ )
178
+ pass = self.cache_client.get_object(
179
+ bucket: ENV['PPS_PASS_CACHE'],
180
+ key: ENV['SECRET_STORE_PASSWORD']
181
+ )
174
182
  res = RestClient.post(
175
183
  self.ss_url(URI(ENV['SECRET_STORE_TOKEN'])),
176
184
  {
177
- 'username' => ENV['SECRET_STORE_USERNAME'],
178
- 'password' => ENV['SECRET_STORE_PASSWORD'],
185
+ 'username' => user,
186
+ 'password' => pass,
179
187
  'grant_type' => 'password'
180
188
  },
181
189
  {
@@ -1,3 +1,3 @@
1
1
  module PPSCommons
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pps_commons
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Phillipps
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-24 00:00:00.000000000 Z
11
+ date: 2017-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3