right_chimp 2.1.13 → 2.1.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docker/Dockerfile +23 -0
- data/docker/right_chimp.sh +22 -0
- data/lib/right_chimp/Chimp.rb +8 -1
- data/lib/right_chimp/daemon/ChimpDaemon.rb +10 -4
- data/lib/right_chimp/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cac365e612655681144bf8e6364069c1738cc2d5
|
4
|
+
data.tar.gz: 534d04f219972cf4fe2158ec61cda670bef698b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df533cc2e7da178112555fcbccdf19d51a6e51333dd712909a0f3930cb8930cb815712f28895a492a3b83f4cbf8de0b6dac384643f8d58c2561515ed6c22bf3a
|
7
|
+
data.tar.gz: d77763bc9930a973c8cc5985b36bf048e284a48472040ccb72374618300b984ec729ba96f6d1fbc7c91071b6583c2138385184591ee9d0bd0b355a138f0f76cb
|
data/docker/Dockerfile
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# Runs right_chimp (https://rubygems.org/gems/right_chimp) ruby gem from a container
|
2
|
+
###
|
3
|
+
# Arbitrary chimp commands executed in container -or- defaults to running execution daemon ('chimpd')
|
4
|
+
# * Requires volume share with creds to /root/
|
5
|
+
# - ex1 - Execute arbitrary chimp command:
|
6
|
+
# => docker run -it -p -v ~/.rest_connection:/root/.rest_connection:ro mastamark/right_chimp:latest chimp --tag="some:tag=true" --script="MyScript"
|
7
|
+
# - ex2 - Start right_chimp daemon with docker host port 9055 bound to same container port:
|
8
|
+
# => docker run -d -p 9055:9055 -v ~/.rest_connection:/root/.rest_connection:ro mastamark/right_chimp:latest
|
9
|
+
# Send your dockerized chimp queries to your dockerized chimpd by adding flag "--chimpd=172.17.0.1:9055" (assuming this is your docker host ip) to chimp queries.
|
10
|
+
###
|
11
|
+
# Built via: docker build -t mastamark/right_chimp:latest .
|
12
|
+
###
|
13
|
+
|
14
|
+
FROM rightscale/ops_ruby22x_build
|
15
|
+
MAINTAINER mastamark+github@gmail.com
|
16
|
+
WORKDIR /srv
|
17
|
+
ADD right_chimp.sh /srv/
|
18
|
+
|
19
|
+
RUN gem install right_chimp --no-ri --no-rdoc
|
20
|
+
|
21
|
+
ENTRYPOINT ["/srv/right_chimp.sh"]
|
22
|
+
CMD ["chimpd"]
|
23
|
+
EXPOSE 9055
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# Entrypoint script for dockerized right_chimp
|
3
|
+
|
4
|
+
first_arg=$1
|
5
|
+
operation=$*
|
6
|
+
|
7
|
+
case "$first_arg" in
|
8
|
+
chimpd)
|
9
|
+
chimp_operation="$operation --bind-address=0.0.0.0"
|
10
|
+
echo "Executing chimpd operation: '$chimp_operation'"
|
11
|
+
$chimp_operation
|
12
|
+
;;
|
13
|
+
chimp)
|
14
|
+
chimp_operation="$operation"
|
15
|
+
echo "Executing chimp operation: '$chimp_operation'"
|
16
|
+
$chimp_operation
|
17
|
+
;;
|
18
|
+
*)
|
19
|
+
echo "Error: Requested operation '$operation' does not appear to be a 'chimp' or 'chimpd' operation"
|
20
|
+
exit 1
|
21
|
+
;;
|
22
|
+
esac
|
data/lib/right_chimp/Chimp.rb
CHANGED
@@ -414,7 +414,14 @@ module Chimp
|
|
414
414
|
exit 0
|
415
415
|
when '--chimpd'
|
416
416
|
@use_chimpd = true
|
417
|
-
|
417
|
+
unless arg.empty?
|
418
|
+
if arg =~ /[\d]+\.[\d]+\.[\d]+\.[\d]+:[\d]+/
|
419
|
+
@chimpd_host, @chimpd_port = arg.split(':')
|
420
|
+
@chimpd_port = @chimpd_port.to_i
|
421
|
+
else
|
422
|
+
@chimpd_port = arg.to_i
|
423
|
+
end
|
424
|
+
end
|
418
425
|
when '--chimpd-wait-until-done'
|
419
426
|
@use_chimpd = true
|
420
427
|
@chimpd_wait_until_done = true
|
@@ -8,7 +8,8 @@ module Chimp
|
|
8
8
|
class ChimpDaemon
|
9
9
|
|
10
10
|
attr_accessor :verbose, :debug, :port, :concurrency, :delay, :retry_count,
|
11
|
-
:dry_run, :logfile, :chimp_queue, :proc_counter, :semaphore
|
11
|
+
:dry_run, :logfile, :chimp_queue, :proc_counter, :semaphore,
|
12
|
+
:bind_address
|
12
13
|
attr_reader :queue, :running
|
13
14
|
|
14
15
|
include Singleton
|
@@ -17,6 +18,7 @@ module Chimp
|
|
17
18
|
@verbose = false
|
18
19
|
@debug = false
|
19
20
|
@port = 9055
|
21
|
+
@bind_address = "localhost"
|
20
22
|
@concurrency = 50
|
21
23
|
@delay = 0
|
22
24
|
@retry_count = 0
|
@@ -60,6 +62,7 @@ module Chimp
|
|
60
62
|
[ '--delay', '-d', GetoptLong::REQUIRED_ARGUMENT ],
|
61
63
|
[ '--retry', '-y', GetoptLong::REQUIRED_ARGUMENT ],
|
62
64
|
[ '--port', '-p', GetoptLong::REQUIRED_ARGUMENT ],
|
65
|
+
[ '--bind-address', '-b', GetoptLong::REQUIRED_ARGUMENT ],
|
63
66
|
[ '--help', '-h', GetoptLong::NO_ARGUMENT ],
|
64
67
|
[ '--exit', '-x', GetoptLong::NO_ARGUMENT ]
|
65
68
|
)
|
@@ -81,6 +84,8 @@ module Chimp
|
|
81
84
|
@quiet = true
|
82
85
|
when '--port', '-p'
|
83
86
|
@port = arg
|
87
|
+
when '--bind-address', '-b'
|
88
|
+
@bind_address = arg.to_s
|
84
89
|
when '--help', '-h'
|
85
90
|
help
|
86
91
|
when '--exit', '-x'
|
@@ -90,7 +95,7 @@ module Chimp
|
|
90
95
|
end
|
91
96
|
end
|
92
97
|
rescue GetoptLong::InvalidOption => ex
|
93
|
-
puts "Syntax: chimpd [--logfile=<name>] [--concurrency=<c>] [--delay=<d>] [--retry=<r>] [--port=<p>] [--verbose]"
|
98
|
+
puts "Syntax: chimpd [--logfile=<name>] [--concurrency=<c>] [--delay=<d>] [--retry=<r>] [--port=<p>] [--bind-address=<addr> ] [--verbose]"
|
94
99
|
exit 1
|
95
100
|
end
|
96
101
|
|
@@ -119,7 +124,7 @@ module Chimp
|
|
119
124
|
puts
|
120
125
|
puts "chimpd -- a RightScale Platform command-line tool"
|
121
126
|
puts
|
122
|
-
puts "Syntax: chimpd [--logfile=<name>] [--concurrency=<c>] [--delay=<d>] [--retry=<r>] [--port=<p>] [--verbose]"
|
127
|
+
puts "Syntax: chimpd [--logfile=<name>] [--concurrency=<c>] [--delay=<d>] [--retry=<r>] [--port=<p>] [--bind-address=<addr> ] [--verbose]"
|
123
128
|
puts
|
124
129
|
puts "Options:"
|
125
130
|
puts
|
@@ -132,6 +137,7 @@ module Chimp
|
|
132
137
|
puts " --quiet Supress non-essential output"
|
133
138
|
puts
|
134
139
|
puts " --port=<port> Specify the port number for chimpd to listen on (default: 9055)"
|
140
|
+
puts " --bind-address=<addr> Specify an interface address for chimpd to bind to. 0.0.0.0 allows all, default is 'localhost'"
|
135
141
|
puts
|
136
142
|
puts " --help Displays this menu"
|
137
143
|
puts
|
@@ -154,7 +160,7 @@ module Chimp
|
|
154
160
|
#
|
155
161
|
def spawn_webserver
|
156
162
|
opts = {
|
157
|
-
:BindAddress =>
|
163
|
+
:BindAddress => @bind_address,
|
158
164
|
:Port => @port,
|
159
165
|
:MaxClients => 500,
|
160
166
|
:RequestTimeout => 120,
|
data/lib/right_chimp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: right_chimp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RightScale Operations
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -142,6 +142,8 @@ files:
|
|
142
142
|
- bin/chimp
|
143
143
|
- bin/chimpd
|
144
144
|
- chimp.gemspec
|
145
|
+
- docker/Dockerfile
|
146
|
+
- docker/right_chimp.sh
|
145
147
|
- lib/right_chimp.rb
|
146
148
|
- lib/right_chimp/Chimp.rb
|
147
149
|
- lib/right_chimp/IDManager.rb
|