lita-salt 0.2.1.pre.beta → 0.3.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 +4 -4
- data/README.md +6 -2
- data/lib/lita/handlers/salt.rb +11 -6
- data/lib/lita/utils/payload.rb +8 -5
- data/lita-salt.gemspec +2 -2
- data/spec/spec_helper.rb +1 -2
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c0e502b9058427844ca0c6d731c0ec96d547632
|
4
|
+
data.tar.gz: bff383bb61e3ac850fc3792bd74916863d898ed4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b2dcf48e6a38488da1d058a848e6f2c1f0e84737ccb6e71bb143b978c8da067fdc0102e9028a74dfe3d3b60edb44ba161fc104942292fa0cba297c497d92da9
|
7
|
+
data.tar.gz: cdc928eb2eed0c13333d0bd74ab80217b17676d279b676988bbb06f787d886c475fef68cb9ff505e08c21cccfa4e599bb03498170c4029a95b7e1b7c50494576
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# lita-salt [](http://badge.fury.io/rb/lita-salt)
|
2
2
|
|
3
|
-
**lita-salt** is an adapter for Lita that gives your bot the power to interact with your saltstack installation via salt-api.
|
3
|
+
**lita-salt** is an adapter for [Lita](https://www.lita.io) that gives your bot the power to interact with your saltstack installation via salt-api.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -12,12 +12,16 @@ gem "lita-salt"
|
|
12
12
|
|
13
13
|
## Configuration
|
14
14
|
|
15
|
-
### Required
|
15
|
+
### Required
|
16
16
|
|
17
17
|
* `url` (String) – The location of the running salt-api service.
|
18
18
|
* `username` (String) – The username used to authenticate with salt-api.
|
19
19
|
* `password` (String) – The password used to authenticate with salt-api.
|
20
20
|
|
21
|
+
### Optional
|
22
|
+
|
23
|
+
* `returner` (String) – A [Saltstack returner](http://docs.saltstack.com/en/2014.7/ref/returners/all/) you'd like to use. (uses default if unset)
|
24
|
+
|
21
25
|
### Example
|
22
26
|
|
23
27
|
``` ruby
|
data/lib/lita/handlers/salt.rb
CHANGED
@@ -14,6 +14,7 @@ module Lita
|
|
14
14
|
config :url, required: true
|
15
15
|
config :username, required: true
|
16
16
|
config :password, required: true
|
17
|
+
config :returner, required: false
|
17
18
|
|
18
19
|
|
19
20
|
|
@@ -100,7 +101,7 @@ module Lita
|
|
100
101
|
if expired
|
101
102
|
authenticate
|
102
103
|
end
|
103
|
-
body = build_runner('manage.up')
|
104
|
+
body = build_runner('manage.up', returner)
|
104
105
|
response = make_request('/', body)
|
105
106
|
if response.status == 200
|
106
107
|
msg.reply response.body
|
@@ -113,7 +114,7 @@ module Lita
|
|
113
114
|
if expired
|
114
115
|
authenticate
|
115
116
|
end
|
116
|
-
body = build_runner('manage.down')
|
117
|
+
body = build_runner('manage.down', returner)
|
117
118
|
response = make_request('/', body)
|
118
119
|
if response.status == 200
|
119
120
|
msg.reply response.body
|
@@ -132,7 +133,7 @@ module Lita
|
|
132
133
|
if what.nil?
|
133
134
|
msg.reply "Missing service name"
|
134
135
|
else
|
135
|
-
body = build_local(where, "#{__callee__}.#{task}", what)
|
136
|
+
body = build_local(where, "#{__callee__}.#{task}", what, returner)
|
136
137
|
response = make_request('/', body)
|
137
138
|
msg.reply process_response(response)
|
138
139
|
end
|
@@ -148,7 +149,7 @@ module Lita
|
|
148
149
|
if what.nil?
|
149
150
|
msg.reply "Missing job name"
|
150
151
|
else
|
151
|
-
body = build_local(where, "#{__callee__}.#{task}", what)
|
152
|
+
body = build_local(where, "#{__callee__}.#{task}", what, returner)
|
152
153
|
response = make_request('/', body)
|
153
154
|
msg.reply process_response(response)
|
154
155
|
end
|
@@ -164,7 +165,7 @@ module Lita
|
|
164
165
|
if what.nil?
|
165
166
|
msg.reply "Missing job name"
|
166
167
|
else
|
167
|
-
body = build_local(where, "#{__callee__}.#{task}", what)
|
168
|
+
body = build_local(where, "#{__callee__}.#{task}", what, returner)
|
168
169
|
response = make_request('/', body)
|
169
170
|
msg.reply process_response(response)
|
170
171
|
end
|
@@ -193,7 +194,7 @@ module Lita
|
|
193
194
|
if what.nil?
|
194
195
|
msg.reply "Missing job name"
|
195
196
|
else
|
196
|
-
body = build_local(where, "#{__callee__}.#{task}", what)
|
197
|
+
body = build_local(where, "#{__callee__}.#{task}", what, returner)
|
197
198
|
response = make_request('/', body)
|
198
199
|
msg.reply_privately process_response(response)
|
199
200
|
end
|
@@ -224,6 +225,10 @@ module Lita
|
|
224
225
|
config.password
|
225
226
|
end
|
226
227
|
|
228
|
+
def returner
|
229
|
+
config.returner
|
230
|
+
end
|
231
|
+
|
227
232
|
end
|
228
233
|
|
229
234
|
Lita.register_handler(Salt)
|
data/lib/lita/utils/payload.rb
CHANGED
@@ -3,19 +3,22 @@ require 'json'
|
|
3
3
|
module Utils
|
4
4
|
module Payload
|
5
5
|
|
6
|
-
def build_runner(function)
|
7
|
-
|
6
|
+
def build_runner(function, returner=nil)
|
7
|
+
s = {
|
8
8
|
client: :runner,
|
9
9
|
fun: function
|
10
|
-
}
|
10
|
+
}
|
11
|
+
s['ret'] = returner unless returner.nil?
|
12
|
+
JSON.dump(s)
|
11
13
|
end
|
12
14
|
|
13
|
-
def build_local(target, function, arg=nil)
|
15
|
+
def build_local(target, function, arg=nil, returner=nil)
|
14
16
|
s = {
|
15
17
|
client: :local,
|
16
18
|
tgt: target,
|
17
|
-
fun: function
|
19
|
+
fun: function
|
18
20
|
}
|
21
|
+
s['ret'] = returner unless returner.nil?
|
19
22
|
s['arg'] = [arg] unless arg.nil?
|
20
23
|
JSON.dump(s)
|
21
24
|
end
|
data/lita-salt.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "lita-salt"
|
3
|
-
spec.version = "0.
|
3
|
+
spec.version = "0.3.0"
|
4
4
|
spec.authors = ["Jurnell Cockhren"]
|
5
5
|
spec.email = ["jurnell@sophicware.com"]
|
6
6
|
spec.description = %q{Salt handler for lita 4+}
|
@@ -20,8 +20,8 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_development_dependency "rack-test"
|
21
21
|
spec.add_development_dependency "rspec", ">= 3.0.0"
|
22
22
|
spec.add_development_dependency "simplecov"
|
23
|
-
spec.add_development_dependency "coveralls"
|
24
23
|
spec.add_development_dependency "webmock"
|
25
24
|
spec.add_development_dependency "guard-rake"
|
26
25
|
spec.add_development_dependency "guard-rspec"
|
26
|
+
spec.add_development_dependency "fakeredis"
|
27
27
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
require "simplecov"
|
2
|
-
require "coveralls"
|
3
2
|
require 'webmock/rspec'
|
3
|
+
require 'fakeredis/rspec'
|
4
4
|
|
5
5
|
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
6
6
|
SimpleCov::Formatter::HTMLFormatter,
|
7
|
-
Coveralls::SimpleCov::Formatter
|
8
7
|
]
|
9
8
|
SimpleCov.start { add_filter "/spec/" }
|
10
9
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-salt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurnell Cockhren
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: webmock
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: guard-rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name: guard-
|
126
|
+
name: guard-rspec
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
@@ -137,7 +137,7 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: fakeredis
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - ">="
|
@@ -185,9 +185,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
185
|
version: '0'
|
186
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
187
|
requirements:
|
188
|
-
- - "
|
188
|
+
- - ">="
|
189
189
|
- !ruby/object:Gem::Version
|
190
|
-
version:
|
190
|
+
version: '0'
|
191
191
|
requirements: []
|
192
192
|
rubyforge_project:
|
193
193
|
rubygems_version: 2.4.5
|