active_elastic_job 1.5.0 → 1.6.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: 586dcedcf8240ca38ef83c890ca82a9f89210cac
4
- data.tar.gz: fb057db8a70b8d93a1f7d05f13f6d911d084ba54
3
+ metadata.gz: 295868f33a251b59a3dfe4cfd54c8f1dd2180873
4
+ data.tar.gz: 323dff4ad944340e11f8819d5c5f2d28f1ead982
5
5
  SHA512:
6
- metadata.gz: 70282a93e9cb166188a439fae19c5d35a4023a9d6bc605cc1b9cd3cbf56bd555bdc05f7e8ebb111fb4be010b569500988beb17925b2416041dacfde996237d1a
7
- data.tar.gz: 4e827fb5790e8409dd9ed687937448899f400dcc4d51a901011f085c08ddf50b02082e1b946fc53e333da61826ecff05b17d9ae324cf9ad9403aa8da9b71ffa1
6
+ metadata.gz: 0a5cac45a1460d5e5b8865db125fbd2684807d5d6fd71e2ca6c967459a0d3fcba895c062e7d10250dac038743694148ba05366538d7d09ba6688b0fda285c207
7
+ data.tar.gz: a57f088927d4efb9f8906cc75ccac279da3ae96298633a42dc54fd94e804b213cfe6edda11fac91961a82b49c47753aab64dad96dd23a13561ae2c611082e7ab
@@ -19,6 +19,8 @@ module ActiveElasticJob
19
19
  CONTENT_TYPE = 'application/json'.freeze
20
20
  CONTENT_TYPE_HEADER_NAME = 'Content-Type'.freeze
21
21
  OK_RESPONSE_CODE = '200'.freeze
22
+ INSIDE_DOCKER_CONTAINER = `cat /proc/1/cgroup` =~ /docker/
23
+ DOCKER_HOST_IP = "172.17.0.1".freeze
22
24
 
23
25
  def initialize(app) #:nodoc:
24
26
  @app = app
@@ -27,7 +29,7 @@ module ActiveElasticJob
27
29
  def call(env) #:nodoc:
28
30
  request = ActionDispatch::Request.new env
29
31
  if enabled? && aws_sqsd?(request) && originates_from_gem?(request)
30
- unless request.local?
32
+ unless request.local? || sent_from_docker_host?(request)
31
33
  m = "Accepts only requests from localhost for job processing".freeze
32
34
  return ['403', {CONTENT_TYPE_HEADER_NAME => 'text/plain' }, [ m ]]
33
35
  end
@@ -86,6 +88,10 @@ module ActiveElasticJob
86
88
  return false
87
89
  end
88
90
  end
91
+
92
+ def sent_from_docker_host?(request)
93
+ INSIDE_DOCKER_CONTAINER && request.remote_ip == DOCKER_HOST_IP
94
+ end
89
95
  end
90
96
  end
91
97
  end
@@ -1,7 +1,7 @@
1
1
  module ActiveElasticJob
2
2
  module VERSION
3
3
  MAJOR = 1
4
- MINOR = 5
4
+ MINOR = 6
5
5
  TINY = 0
6
6
  PRE = nil
7
7
 
@@ -171,9 +171,10 @@ module ActiveJob
171
171
  end
172
172
 
173
173
  def aws_sqs_client
174
+ @aws_key ||= ENV['AWS_SECRET_ACCESS_KEY'] || ENV['AWS_SECRET_KEY'] || ENV['AMAZON_SECRET_ACCESS_KEY']
174
175
  @aws_sqs_client ||= Aws::SQS::Client.new(
175
176
  access_key_id: ENV['AWS_ACCESS_KEY_ID'],
176
- secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
177
+ secret_access_key: @aws_key,
177
178
  region: ENV['AWS_REGION']
178
179
  )
179
180
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_elastic_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tawan Sierek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-13 00:00:00.000000000 Z
11
+ date: 2016-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk