lita-salt 1.0.0 → 1.1.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 +3 -3
- data/lib/lita/handlers/salt.rb +14 -13
- data/lita-salt.gemspec +2 -1
- data/spec/lita/handlers/salt_spec.rb +2 -2
- data/templates/layout.shell.erb +1 -0
- metadata +43 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d5a35502023105d4989ce3422620a927109f6a3
|
4
|
+
data.tar.gz: 494afec0cfafdf63217e76ca4108164371705856
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 327bc4181658350a77114b6e9082c215ac00e18df140de55afec3363fd2e8949c7c3ab5aa2174f4cee68b3c8fb8b36dee696b15e909bd33380622fb01e05d611
|
7
|
+
data.tar.gz: 4190abeeb6329981e4c053569c0999e634fc2825cac591f87d9f1e1e21ba089b97486ab86d3f7c46d9549b6fdca6dc4130961baae9bf910df90b0eac512865c1
|
data/README.md
CHANGED
@@ -37,13 +37,13 @@ end
|
|
37
37
|
Commands are called in the with the `salt` prefix what can be optionally with the `s` abbreviation.
|
38
38
|
|
39
39
|
```shell
|
40
|
-
|
41
|
-
|
40
|
+
salt minion service.restart nginx
|
41
|
+
s minion schedule.run_job apt
|
42
42
|
```
|
43
43
|
|
44
44
|
### Example
|
45
45
|
|
46
|
-
`
|
46
|
+
`salt up` executes the `manage.up` runner and returns a list of up minions.
|
47
47
|
|
48
48
|
## License
|
49
49
|
|
data/lib/lita/handlers/salt.rb
CHANGED
@@ -2,6 +2,7 @@ require 'json'
|
|
2
2
|
require 'time'
|
3
3
|
require 'lita/utils/payload'
|
4
4
|
require 'lita/utils/decorate'
|
5
|
+
require 'lita-confirmation'
|
5
6
|
|
6
7
|
|
7
8
|
|
@@ -34,30 +35,30 @@ module Lita
|
|
34
35
|
|
35
36
|
|
36
37
|
route /^#{abbreviate("salt")}\s(.+)\sevent\.(send|fire)\s(.+)$/i, :event, command: true, help: {
|
37
|
-
'salt minion event.(fire|send)' => 'Injects an event into the Salt
|
38
|
+
'salt minion event.(fire|send)' => 'Injects an event into the Salt event system'
|
38
39
|
}
|
39
40
|
|
40
|
-
route /^#{abbreviate("salt")} up$/i, :manage_up, command:
|
41
|
+
route /^#{abbreviate("salt")} up$/i, :manage_up, command: false, help: {
|
41
42
|
'salt up' => 'lists alive minions'
|
42
43
|
}
|
43
44
|
|
44
|
-
route /^#{abbreviate("salt")} down$/i, :manage_down, command:
|
45
|
+
route /^#{abbreviate("salt")} down$/i, :manage_down, command: false, help: {
|
45
46
|
'salt down' => 'lists dead minions'
|
46
47
|
}
|
47
48
|
|
48
|
-
route /^#{abbreviate("salt")} login$/i, :login, command: true, help: {
|
49
|
+
route /^#{abbreviate("salt")} login$/i, :login, command: false, confirmation: true, help: {
|
49
50
|
'salt login' => 'renew auth token'
|
50
51
|
}
|
51
52
|
|
52
|
-
route /^#{abbreviate("salt")}\s(.+)\sservice\.(restart|start|stop)\s(.+)$/i, :service, command:
|
53
|
-
'salt minion service.(restart|start|stop)' => 'Performs defined action on service'
|
53
|
+
route /^#{abbreviate("salt")}\s(.+)\sservice\.(restart|start|stop|status)\s(.+)$/i, :service, command: false, help: {
|
54
|
+
'salt minion service.(restart|start|stop|status)' => 'Performs defined action on service'
|
54
55
|
}
|
55
56
|
|
56
57
|
route /^#{abbreviate("salt")}\s(.+)\sschedule\.(run_job|enable_job|disable_job|list)(?:\s(.+))?$/i, :schedule, command: true, help: {
|
57
|
-
'salt minion schedule.(run_job|enable_job|disable_job|list)' => 'Interacts with
|
58
|
+
'salt minion schedule.(run_job|enable_job|disable_job|list)' => 'Interacts with scheduling system'
|
58
59
|
}
|
59
60
|
|
60
|
-
route /^#{abbreviate("salt")}\s(.+)\ssupervisord\.(status|start|stop|restart|add|remove)\s(.+)$/i, :supervisord, command:
|
61
|
+
route /^#{abbreviate("salt")}\s(.+)\ssupervisord\.(status|start|stop|restart|add|remove)\s(.+)$/i, :supervisord, command: false, help: {
|
61
62
|
'salt minion supervisord.(status|start|stop|restart|add|remove)' => 'Execute supervisor action'
|
62
63
|
}
|
63
64
|
|
@@ -115,9 +116,9 @@ module Lita
|
|
115
116
|
body = build_runner('manage.up', returner)
|
116
117
|
response = make_request('/', body)
|
117
118
|
if response.status == 200
|
118
|
-
msg.reply
|
119
|
+
msg.reply(process_response(response))
|
119
120
|
else
|
120
|
-
msg.reply(render_template("
|
121
|
+
msg.reply(render_template("layout", response: "Failed to run command: #{body}\nError: #{response.body}"))
|
121
122
|
end
|
122
123
|
end
|
123
124
|
|
@@ -128,9 +129,9 @@ module Lita
|
|
128
129
|
body = build_runner('manage.down', returner)
|
129
130
|
response = make_request('/', body)
|
130
131
|
if response.status == 200
|
131
|
-
msg.reply response
|
132
|
+
msg.reply process_response(response)
|
132
133
|
else
|
133
|
-
msg.reply(render_template("
|
134
|
+
msg.reply(render_template("layout", response: "Failed to run command: #{body}\nError: #{response.body}"))
|
134
135
|
end
|
135
136
|
end
|
136
137
|
|
@@ -192,7 +193,7 @@ module Lita
|
|
192
193
|
else
|
193
194
|
out = "Failed to run command: #{body}\nError: #{response.body}"
|
194
195
|
end
|
195
|
-
out
|
196
|
+
JSON.pretty_generate(JSON.parse(out))
|
196
197
|
end
|
197
198
|
|
198
199
|
def expired
|
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 = "1.
|
3
|
+
spec.version = "1.1.0"
|
4
4
|
spec.authors = ["Jurnell Cockhren"]
|
5
5
|
spec.email = ["jurnell@sophicware.com"]
|
6
6
|
spec.description = %q{Salt handler for lita 4+}
|
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.require_paths = ["lib"]
|
15
15
|
|
16
16
|
spec.add_runtime_dependency "lita", "~> 4.2"
|
17
|
+
spec.add_runtime_dependency "lita-confirmation"
|
17
18
|
|
18
19
|
spec.add_development_dependency "bundler", "~> 1.3"
|
19
20
|
spec.add_development_dependency "rake"
|
@@ -72,7 +72,7 @@ describe Lita::Handlers::Salt, lita_handler: true do
|
|
72
72
|
allow(response).to receive(:body).and_return(reply)
|
73
73
|
allow(response).to receive(:headers).and_return(token)
|
74
74
|
send_command('s up')
|
75
|
-
expect(replies.last).to eq(JSON.
|
75
|
+
expect(replies.last).to eq(JSON.pretty_generate(return: [['main','silly']]))
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
@@ -97,7 +97,7 @@ describe Lita::Handlers::Salt, lita_handler: true do
|
|
97
97
|
allow(response).to receive(:body).and_return(reply)
|
98
98
|
allow(response).to receive(:headers).and_return(token)
|
99
99
|
send_command('s down')
|
100
|
-
expect(replies.last).to eq(JSON.
|
100
|
+
expect(replies.last).to eq(JSON.pretty_generate(return: [['main','silly']]))
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= @response %>
|
metadata
CHANGED
@@ -1,167 +1,181 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-salt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.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-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '4.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '4.2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: lita-confirmation
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - ~>
|
45
|
+
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
47
|
version: '1.3'
|
34
48
|
type: :development
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- - ~>
|
52
|
+
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '1.3'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- -
|
59
|
+
- - ">="
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: '0'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- -
|
66
|
+
- - ">="
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rack-test
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- -
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '0'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rspec
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: 3.0.0
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: 3.0.0
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: simplecov
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: webmock
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: guard-rake
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '0'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: guard-rspec
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- -
|
143
|
+
- - ">="
|
130
144
|
- !ruby/object:Gem::Version
|
131
145
|
version: '0'
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
|
-
- -
|
150
|
+
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: fakeredis
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- -
|
157
|
+
- - ">="
|
144
158
|
- !ruby/object:Gem::Version
|
145
159
|
version: '0'
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- -
|
164
|
+
- - ">="
|
151
165
|
- !ruby/object:Gem::Version
|
152
166
|
version: '0'
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: rubocop
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
|
-
- -
|
171
|
+
- - ">="
|
158
172
|
- !ruby/object:Gem::Version
|
159
173
|
version: '0'
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
|
-
- -
|
178
|
+
- - ">="
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '0'
|
167
181
|
description: Salt handler for lita 4+
|
@@ -171,7 +185,7 @@ executables: []
|
|
171
185
|
extensions: []
|
172
186
|
extra_rdoc_files: []
|
173
187
|
files:
|
174
|
-
- .gitignore
|
188
|
+
- ".gitignore"
|
175
189
|
- Gemfile
|
176
190
|
- LICENSE
|
177
191
|
- README.md
|
@@ -184,6 +198,7 @@ files:
|
|
184
198
|
- spec/lita/handlers/salt_spec.rb
|
185
199
|
- spec/spec_helper.rb
|
186
200
|
- templates/.gitkeep
|
201
|
+
- templates/layout.shell.erb
|
187
202
|
- templates/layout.slack.erb
|
188
203
|
homepage: https://github.com/sophicware/lita-salt
|
189
204
|
licenses:
|
@@ -196,17 +211,17 @@ require_paths:
|
|
196
211
|
- lib
|
197
212
|
required_ruby_version: !ruby/object:Gem::Requirement
|
198
213
|
requirements:
|
199
|
-
- -
|
214
|
+
- - ">="
|
200
215
|
- !ruby/object:Gem::Version
|
201
216
|
version: '0'
|
202
217
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
218
|
requirements:
|
204
|
-
- -
|
219
|
+
- - ">="
|
205
220
|
- !ruby/object:Gem::Version
|
206
221
|
version: '0'
|
207
222
|
requirements: []
|
208
223
|
rubyforge_project:
|
209
|
-
rubygems_version: 2.
|
224
|
+
rubygems_version: 2.4.5
|
210
225
|
signing_key:
|
211
226
|
specification_version: 4
|
212
227
|
summary: Salt handler for lita 4+
|