worker-army 0.6.1 → 0.6.2

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: 3a878a579e7e87921fa49e33ce8cd74e59fe8301
4
- data.tar.gz: 15c9d919e599781984924e90503f3680485e9093
3
+ metadata.gz: 59ec12d554f7bbbab1a78ce9d578eb136af8283e
4
+ data.tar.gz: e1aa674d2b057c4a4d5ab37b335920b5bd5b2ea9
5
5
  SHA512:
6
- metadata.gz: 8f25a98dc55a052ab8dda0a248d79ed563a656e584af6abb1b9524ad2637b7f566a31fb9e99607d7d4667700a8c3e864e3bb01a7b89f41e46615fb935c60d0aa
7
- data.tar.gz: 6169a0494da5961f82dcc119a9e99b17f96eb8226f390fa4c0de50631d21473f870c5a4dff01479c8d9f95ffc1a6b3b9a2a16c5760b07feed9e56a197e3deb6f
6
+ metadata.gz: 4725ba9ea36829d7559820b753d34ea848b82ac8f92b1814a586da4e84972d3b006cd17ac552e39b58903feba450775f1574d1383f7f1fd0001d39d2b12a2883
7
+ data.tar.gz: b697e10af515e02eba24df71d63418c2ce4970ea87e8abfc0dc3f16c1e1b9632ed7ce63d3e09ff93f22251f813a58218cdec476de04b7a7718d4ac78eff44f5c
data/Gemfile CHANGED
@@ -5,6 +5,7 @@ gem "redis"
5
5
  gem "multi_json"
6
6
  gem "sinatra"
7
7
  gem "sinatra-contrib"
8
+ gem "sinatra-basic-auth"
8
9
  gem "rest-client"
9
10
  gem "rake"
10
11
  gem 'unicorn'
data/Gemfile.lock CHANGED
@@ -65,6 +65,8 @@ GEM
65
65
  rack (~> 1.4)
66
66
  rack-protection (~> 1.4)
67
67
  tilt (~> 1.3, >= 1.3.4)
68
+ sinatra-basic-auth (0.1.0)
69
+ sinatra
68
70
  sinatra-contrib (1.4.2)
69
71
  backports (>= 2.0)
70
72
  multi_json
@@ -92,5 +94,6 @@ DEPENDENCIES
92
94
  redis
93
95
  rest-client
94
96
  sinatra
97
+ sinatra-basic-auth
95
98
  sinatra-contrib
96
99
  unicorn
data/README.md CHANGED
@@ -31,6 +31,9 @@ If you can't provide or don't want to provide the config file at that location,
31
31
  worker_army_client_retry_count
32
32
  worker_army_callback_retry_count
33
33
  worker_army_store_job_data
34
+ worker_army_use_basic_auth
35
+ worker_army_basic_auth_username
36
+ worker_army_basic_auth_password
34
37
 
35
38
  ## Server / Queue
36
39
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.1
1
+ 0.6.2
@@ -23,6 +23,15 @@ module WorkerArmy
23
23
  if ENV['worker_army_store_job_data']
24
24
  config['store_job_data'] = (ENV['worker_army_store_job_data'] == 'true')
25
25
  end
26
+ if ENV['worker_army_use_basic_auth']
27
+ config['use_basic_auth'] = (ENV['worker_army_use_basic_auth'] == 'true')
28
+ end
29
+ if ENV['worker_army_basic_auth_username']
30
+ config['basic_auth_username'] = ENV['worker_army_basic_auth_username']
31
+ end
32
+ if ENV['worker_army_basic_auth_password']
33
+ config['basic_auth_password'] = ENV['worker_army_basic_auth_password']
34
+ end
26
35
  else
27
36
  begin
28
37
  # puts "Using config in your home directory"
@@ -2,16 +2,24 @@ require "json"
2
2
  require "multi_json"
3
3
  require "sinatra"
4
4
  require "sinatra/json"
5
+ require "sinatra/basic_auth"
5
6
  require File.dirname(__FILE__) + '/log'
6
7
  require File.dirname(__FILE__) + '/queue'
7
8
 
8
9
  queue = WorkerArmy::Queue.new
10
+ auth = false
11
+ if queue.config['use_basic_auth'] and queue.config['basic_auth_username'] and queue.config['basic_auth_password']
12
+ authorize do |username, password|
13
+ username == queue.config['basic_auth_username'] && password == queue.config['basic_auth_password']
14
+ end
15
+ auth = true
16
+ end
9
17
 
10
18
  before do
11
19
  content_type 'application/json', :charset => 'utf-8'
12
20
  end
13
21
 
14
- get '/' do
22
+ def overview(queue)
15
23
  job_count = queue.get_job_count || 0
16
24
  workers = queue.get_known_workers
17
25
  last_ping = queue.last_ping || 0
@@ -25,7 +33,18 @@ get '/' do
25
33
  workers: workers, last_worker_ping: last_ping.to_i, queues: queues,
26
34
  current_jobs: current_jobs
27
35
  }
28
- json data
36
+ end
37
+
38
+ if auth
39
+ protect do
40
+ get "/" do
41
+ json overview(queue)
42
+ end
43
+ end
44
+ else
45
+ get '/' do
46
+ json overview(queue)
47
+ end
29
48
  end
30
49
 
31
50
  post '/jobs' do
data/worker-army.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: worker-army 0.6.1 ruby lib
5
+ # stub: worker-army 0.6.2 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "worker-army"
9
- s.version = "0.6.1"
9
+ s.version = "0.6.2"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Oliver Kiessler"]
14
- s.date = "2014-07-24"
14
+ s.date = "2014-08-02"
15
15
  s.description = "Simple redis based worker queue with a HTTP/Rest interface"
16
16
  s.email = "kiessler@inceedo.com"
17
17
  s.executables = ["worker_army"]
@@ -60,6 +60,7 @@ Gem::Specification.new do |s|
60
60
  s.add_runtime_dependency(%q<multi_json>, [">= 0"])
61
61
  s.add_runtime_dependency(%q<sinatra>, [">= 0"])
62
62
  s.add_runtime_dependency(%q<sinatra-contrib>, [">= 0"])
63
+ s.add_runtime_dependency(%q<sinatra-basic-auth>, [">= 0"])
63
64
  s.add_runtime_dependency(%q<rest-client>, [">= 0"])
64
65
  s.add_runtime_dependency(%q<rake>, [">= 0"])
65
66
  s.add_runtime_dependency(%q<unicorn>, [">= 0"])
@@ -71,6 +72,7 @@ Gem::Specification.new do |s|
71
72
  s.add_dependency(%q<multi_json>, [">= 0"])
72
73
  s.add_dependency(%q<sinatra>, [">= 0"])
73
74
  s.add_dependency(%q<sinatra-contrib>, [">= 0"])
75
+ s.add_dependency(%q<sinatra-basic-auth>, [">= 0"])
74
76
  s.add_dependency(%q<rest-client>, [">= 0"])
75
77
  s.add_dependency(%q<rake>, [">= 0"])
76
78
  s.add_dependency(%q<unicorn>, [">= 0"])
@@ -83,6 +85,7 @@ Gem::Specification.new do |s|
83
85
  s.add_dependency(%q<multi_json>, [">= 0"])
84
86
  s.add_dependency(%q<sinatra>, [">= 0"])
85
87
  s.add_dependency(%q<sinatra-contrib>, [">= 0"])
88
+ s.add_dependency(%q<sinatra-basic-auth>, [">= 0"])
86
89
  s.add_dependency(%q<rest-client>, [">= 0"])
87
90
  s.add_dependency(%q<rake>, [">= 0"])
88
91
  s.add_dependency(%q<unicorn>, [">= 0"])
@@ -6,3 +6,6 @@ client_retry_count: 10
6
6
  worker_retry_count: 10
7
7
  callback_retry_count: 5
8
8
  store_job_data: true
9
+ use_basic_auth: false
10
+ basic_auth_username: "admin"
11
+ basic_auth_password: "something"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worker-army
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oliver Kiessler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-24 00:00:00.000000000 Z
11
+ date: 2014-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sinatra-basic-auth
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rest-client
71
85
  requirement: !ruby/object:Gem::Requirement