cf_light_api 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cf_light_api/worker.rb +26 -6
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cf01cf65d36b35346fbfcda8d96c1bad61b851f2
4
- data.tar.gz: 150c7d313e8ee5f728a3506273433618588f0dd3
3
+ metadata.gz: ebbc487391ec0d46cee3d3b12dfc162c44d0a4a6
4
+ data.tar.gz: 9a9a92b041a9ece7bdee042bb3c7cb358a09d63a
5
5
  SHA512:
6
- metadata.gz: 5f16c20c9af5525c5a3f9e981a85bd7f8d605d226962a45ea14d84c02c3c255a7e1400aa7cc269a42afb897e38a8cda84dd1905556df34b7cc04ee9f92874362
7
- data.tar.gz: c80c5061a40673969d69f67861445cd06b0c9778fcc5745423ea57498c3da0feb7a8c9dc873127953027382b610ae9a4f03016f70666c7a3fc95aa9e7df4f821
6
+ metadata.gz: 1e7d7f2ceb29072dd7ad41dda11fe9533aadf00f15c0ec28b3418a18465f3ec80f2dc0235a70b5c0b4ff3b84466e881d347f7d5045b04d34a033a51279aba6e6
7
+ data.tar.gz: f4655642b2a4601bde54562809a1948762d1e903cb022faf8572337f281f21dc11d1f4b68dd7aef6258e59f69d90b868ee086de60fb63b44718f4bff45ad3c93
@@ -13,6 +13,8 @@ class CFLightAPIWorker
13
13
  include NewRelic::Agent::MethodTracer
14
14
  end
15
15
 
16
+ ENVIRONMENT_VARIABLES_WHITELIST = (ENV['ENVIRONMENT_VARIABLES_WHITELIST'] || '').split(',').collect(&:strip)
17
+
16
18
  def initialize
17
19
  @logger = Logger.new(STDOUT)
18
20
  @logger.formatter = proc do |severity, datetime, progname, msg|
@@ -141,6 +143,20 @@ class CFLightAPIWorker
141
143
  end
142
144
  end
143
145
 
146
+ def filtered_environment_variables env_vars
147
+
148
+ if ENVIRONMENT_VARIABLES_WHITELIST.any?
149
+ return ENVIRONMENT_VARIABLES_WHITELIST.inject({}) do |filtered, key|
150
+ filtered[key] = env_vars[key] if env_vars[key]
151
+ filtered
152
+ end
153
+
154
+ else
155
+ return env_vars
156
+ end
157
+
158
+ end
159
+
144
160
  def update_cf_data
145
161
  @cf_client = nil
146
162
  @graphite = GraphiteAPI.new(graphite: "#{ENV['GRAPHITE_HOST']}:#{ENV['GRAPHITE_PORT']}") if ENV['GRAPHITE_HOST'] and ENV['GRAPHITE_PORT'] and ENV['CF_ENV_NAME']
@@ -154,12 +170,12 @@ class CFLightAPIWorker
154
170
 
155
171
  @cf_client = get_client() # Ensure we have a fresh auth token...
156
172
 
157
- @apps = cf_rest('/v2/apps?results-per-page=100')
158
- @orgs = cf_rest('/v2/organizations?results-per-page=100')
159
- @quotas = cf_rest('/v2/quota_definitions?results-per-page=100')
160
- @spaces = cf_rest('/v2/spaces?results-per-page=100')
161
- @stacks = cf_rest('/v2/stacks?results-per-page=100')
162
- @domains = cf_rest('/v2/domains?results-per-page=100')
173
+ @apps = cf_rest('/v2/apps?results-per-page=100')
174
+ @orgs = cf_rest('/v2/organizations?results-per-page=100')
175
+ @quotas = cf_rest('/v2/quota_definitions?results-per-page=100')
176
+ @spaces = cf_rest('/v2/spaces?results-per-page=100')
177
+ @stacks = cf_rest('/v2/stacks?results-per-page=100')
178
+ @domains = cf_rest('/v2/domains?results-per-page=100')
163
179
 
164
180
  formatted_orgs = @orgs.map do |org|
165
181
  quota = @quotas.find{|a_quota| a_quota['metadata']['guid'] == org['entity']['quota_definition_guid']}
@@ -204,6 +220,10 @@ class CFLightAPIWorker
204
220
  :state => app['entity']['state']
205
221
  }
206
222
 
223
+ if ENV['EXPOSE_ENVIRONMENT_VARIABLES'] == 'true' then
224
+ base_data[:environment_variables] = filtered_environment_variables( app['entity']['environment_json'] )
225
+ end
226
+
207
227
  # Add additional data, such as instance usage statistics - but this is only possible if the instances are running.
208
228
  additional_data = {}
209
229
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cf_light_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Springer Platform Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-16 00:00:00.000000000 Z
11
+ date: 2017-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cfoundry