worker-army 0.6.1 → 0.6.2

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