choria-mcorpc-support 2.21.1 → 2.23.1
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/lib/mcollective.rb +1 -2
- data/lib/mcollective/agent/bolt_tasks.ddl +253 -0
- data/lib/mcollective/agent/bolt_tasks.json +365 -0
- data/lib/mcollective/agent/bolt_tasks.rb +178 -0
- data/lib/mcollective/agent/choria_util.ddl +152 -0
- data/lib/mcollective/agent/choria_util.json +244 -0
- data/lib/mcollective/agent/rpcutil.ddl +8 -4
- data/lib/mcollective/agent/rpcutil.json +333 -0
- data/lib/mcollective/agent/scout.ddl +169 -0
- data/lib/mcollective/agent/scout.json +224 -0
- data/lib/mcollective/agents.rb +7 -6
- data/lib/mcollective/aggregate.rb +4 -4
- data/lib/mcollective/aggregate/average.rb +2 -2
- data/lib/mcollective/aggregate/base.rb +2 -2
- data/lib/mcollective/aggregate/result.rb +3 -3
- data/lib/mcollective/aggregate/result/collection_result.rb +2 -2
- data/lib/mcollective/aggregate/result/numeric_result.rb +2 -2
- data/lib/mcollective/aggregate/sum.rb +2 -2
- data/lib/mcollective/aggregate/summary.rb +3 -4
- data/lib/mcollective/application.rb +57 -21
- data/lib/mcollective/application/choria.rb +189 -0
- data/lib/mcollective/application/completion.rb +6 -6
- data/lib/mcollective/application/facts.rb +11 -11
- data/lib/mcollective/application/federation.rb +237 -0
- data/lib/mcollective/application/find.rb +4 -4
- data/lib/mcollective/application/help.rb +3 -3
- data/lib/mcollective/application/inventory.rb +3 -341
- data/lib/mcollective/application/ping.rb +5 -51
- data/lib/mcollective/application/playbook.rb +207 -0
- data/lib/mcollective/application/plugin.rb +106 -106
- data/lib/mcollective/application/rpc.rb +3 -108
- data/lib/mcollective/application/tasks.rb +425 -0
- data/lib/mcollective/applications.rb +11 -10
- data/lib/mcollective/audit/choria.rb +33 -0
- data/lib/mcollective/cache.rb +2 -4
- data/lib/mcollective/client.rb +11 -10
- data/lib/mcollective/config.rb +21 -34
- data/lib/mcollective/connector/base.rb +2 -1
- data/lib/mcollective/connector/nats.ddl +9 -0
- data/lib/mcollective/connector/nats.rb +450 -0
- data/lib/mcollective/data.rb +8 -3
- data/lib/mcollective/data/agent_data.rb +1 -1
- data/lib/mcollective/data/base.rb +6 -5
- data/lib/mcollective/data/bolt_task_data.ddl +90 -0
- data/lib/mcollective/data/bolt_task_data.rb +32 -0
- data/lib/mcollective/data/collective_data.rb +1 -1
- data/lib/mcollective/data/fact_data.rb +6 -6
- data/lib/mcollective/data/fstat_data.rb +2 -4
- data/lib/mcollective/data/result.rb +7 -2
- data/lib/mcollective/ddl/agentddl.rb +5 -17
- data/lib/mcollective/ddl/base.rb +10 -13
- data/lib/mcollective/discovery.rb +24 -39
- data/lib/mcollective/discovery/choria.ddl +11 -0
- data/lib/mcollective/discovery/choria.rb +223 -0
- data/lib/mcollective/discovery/flatfile.rb +7 -8
- data/lib/mcollective/discovery/mc.rb +2 -2
- data/lib/mcollective/discovery/stdin.rb +17 -18
- data/lib/mcollective/exceptions.rb +13 -0
- data/lib/mcollective/facts/base.rb +9 -9
- data/lib/mcollective/facts/yaml_facts.rb +12 -12
- data/lib/mcollective/generators.rb +3 -3
- data/lib/mcollective/generators/agent_generator.rb +3 -4
- data/lib/mcollective/generators/base.rb +14 -15
- data/lib/mcollective/generators/data_generator.rb +5 -6
- data/lib/mcollective/log.rb +2 -2
- data/lib/mcollective/logger/base.rb +3 -2
- data/lib/mcollective/logger/console_logger.rb +10 -10
- data/lib/mcollective/logger/file_logger.rb +7 -7
- data/lib/mcollective/logger/syslog_logger.rb +11 -15
- data/lib/mcollective/message.rb +8 -39
- data/lib/mcollective/monkey_patches.rb +2 -4
- data/lib/mcollective/optionparser.rb +2 -1
- data/lib/mcollective/pluginmanager.rb +3 -5
- data/lib/mcollective/pluginpackager.rb +1 -3
- data/lib/mcollective/pluginpackager/agent_definition.rb +3 -8
- data/lib/mcollective/pluginpackager/forge_packager.rb +7 -9
- data/lib/mcollective/pluginpackager/standard_definition.rb +1 -2
- data/lib/mcollective/registration/base.rb +18 -16
- data/lib/mcollective/rpc.rb +2 -4
- data/lib/mcollective/rpc/actionrunner.rb +16 -18
- data/lib/mcollective/rpc/agent.rb +26 -43
- data/lib/mcollective/rpc/audit.rb +1 -0
- data/lib/mcollective/rpc/client.rb +67 -85
- data/lib/mcollective/rpc/helpers.rb +55 -62
- data/lib/mcollective/rpc/progress.rb +2 -2
- data/lib/mcollective/rpc/reply.rb +17 -19
- data/lib/mcollective/rpc/request.rb +7 -5
- data/lib/mcollective/rpc/result.rb +6 -8
- data/lib/mcollective/rpc/stats.rb +49 -58
- data/lib/mcollective/security/base.rb +13 -56
- data/lib/mcollective/security/choria.rb +765 -0
- data/lib/mcollective/shell.rb +9 -4
- data/lib/mcollective/signer/base.rb +28 -0
- data/lib/mcollective/signer/choria.rb +185 -0
- data/lib/mcollective/ssl.rb +8 -6
- data/lib/mcollective/util.rb +58 -55
- data/lib/mcollective/util/bolt_support.rb +176 -0
- data/lib/mcollective/util/bolt_support/plan_runner.rb +167 -0
- data/lib/mcollective/util/bolt_support/task_result.rb +94 -0
- data/lib/mcollective/util/bolt_support/task_results.rb +128 -0
- data/lib/mcollective/util/choria.rb +946 -0
- data/lib/mcollective/util/indifferent_hash.rb +12 -0
- data/lib/mcollective/util/natswrapper.rb +242 -0
- data/lib/mcollective/util/playbook.rb +435 -0
- data/lib/mcollective/util/playbook/data_stores.rb +201 -0
- data/lib/mcollective/util/playbook/data_stores/base.rb +99 -0
- data/lib/mcollective/util/playbook/data_stores/consul_data_store.rb +88 -0
- data/lib/mcollective/util/playbook/data_stores/environment_data_store.rb +33 -0
- data/lib/mcollective/util/playbook/data_stores/etcd_data_store.rb +42 -0
- data/lib/mcollective/util/playbook/data_stores/file_data_store.rb +106 -0
- data/lib/mcollective/util/playbook/data_stores/shell_data_store.rb +103 -0
- data/lib/mcollective/util/playbook/inputs.rb +265 -0
- data/lib/mcollective/util/playbook/nodes.rb +207 -0
- data/lib/mcollective/util/playbook/nodes/mcollective_nodes.rb +86 -0
- data/lib/mcollective/util/playbook/nodes/pql_nodes.rb +40 -0
- data/lib/mcollective/util/playbook/nodes/shell_nodes.rb +55 -0
- data/lib/mcollective/util/playbook/nodes/terraform_nodes.rb +65 -0
- data/lib/mcollective/util/playbook/nodes/yaml_nodes.rb +47 -0
- data/lib/mcollective/util/playbook/playbook_logger.rb +47 -0
- data/lib/mcollective/util/playbook/puppet_logger.rb +51 -0
- data/lib/mcollective/util/playbook/report.rb +152 -0
- data/lib/mcollective/util/playbook/task_result.rb +55 -0
- data/lib/mcollective/util/playbook/tasks.rb +196 -0
- data/lib/mcollective/util/playbook/tasks/base.rb +45 -0
- data/lib/mcollective/util/playbook/tasks/graphite_event_task.rb +64 -0
- data/lib/mcollective/util/playbook/tasks/mcollective_task.rb +356 -0
- data/lib/mcollective/util/playbook/tasks/shell_task.rb +93 -0
- data/lib/mcollective/util/playbook/tasks/slack_task.rb +105 -0
- data/lib/mcollective/util/playbook/tasks/webhook_task.rb +136 -0
- data/lib/mcollective/util/playbook/template_util.rb +98 -0
- data/lib/mcollective/util/playbook/uses.rb +169 -0
- data/lib/mcollective/util/tasks_support.rb +751 -0
- data/lib/mcollective/util/tasks_support/cli.rb +260 -0
- data/lib/mcollective/util/tasks_support/default_formatter.rb +138 -0
- data/lib/mcollective/util/tasks_support/json_formatter.rb +108 -0
- data/lib/mcollective/validator.rb +6 -1
- data/lib/mcollective/validator/bolt_task_name_validator.ddl +7 -0
- data/lib/mcollective/validator/bolt_task_name_validator.rb +11 -0
- data/lib/mcollective/validator/length_validator.rb +1 -3
- metadata +65 -6
- data/lib/mcollective/application/describe_filter.rb +0 -87
- data/lib/mcollective/matcher.rb +0 -220
- data/lib/mcollective/matcher/parser.rb +0 -128
- data/lib/mcollective/matcher/scanner.rb +0 -241
|
@@ -2,9 +2,9 @@ metadata :name => "rpcutil",
|
|
|
2
2
|
:description => "General helpful actions that expose stats and internals to SimpleRPC clients",
|
|
3
3
|
:author => "R.I.Pienaar <rip@devco.net>",
|
|
4
4
|
:license => "Apache License, Version 2.0",
|
|
5
|
-
:version => "
|
|
5
|
+
:version => "0.19.0",
|
|
6
6
|
:url => "https://choria.io/",
|
|
7
|
-
:timeout =>
|
|
7
|
+
:timeout => 2
|
|
8
8
|
|
|
9
9
|
action "collective_info", :description => "Info about the main and sub collectives" do
|
|
10
10
|
display :always
|
|
@@ -52,6 +52,10 @@ action "inventory", :description => "System Inventory" do
|
|
|
52
52
|
output :data_plugins,
|
|
53
53
|
:description => "List of data plugin names",
|
|
54
54
|
:display_as => "Data Plugins"
|
|
55
|
+
|
|
56
|
+
output :machines,
|
|
57
|
+
:description => "Autonomous Agents",
|
|
58
|
+
:display_as => "Machines"
|
|
55
59
|
end
|
|
56
60
|
|
|
57
61
|
action "get_fact", :description => "Retrieve a single fact from the fact store" do
|
|
@@ -61,9 +65,9 @@ action "get_fact", :description => "Retrieve a single fact from the fact store"
|
|
|
61
65
|
:prompt => "The name of the fact",
|
|
62
66
|
:description => "The fact to retrieve",
|
|
63
67
|
:type => :string,
|
|
64
|
-
:validation => '
|
|
68
|
+
:validation => '.+',
|
|
65
69
|
:optional => false,
|
|
66
|
-
:maxlength =>
|
|
70
|
+
:maxlength => 512
|
|
67
71
|
|
|
68
72
|
output :fact,
|
|
69
73
|
:description => "The name of the fact being returned",
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://choria.io/schemas/mcorpc/ddl/v1/agent.json",
|
|
3
|
+
"metadata": {
|
|
4
|
+
"name": "rpcutil",
|
|
5
|
+
"description": "General helpful actions that expose stats and internals to SimpleRPC clients",
|
|
6
|
+
"author": "R.I.Pienaar <rip@devco.net>",
|
|
7
|
+
"license": "Apache License, Version 2.0",
|
|
8
|
+
"version": "0.19.0",
|
|
9
|
+
"url": "https://choria.io/",
|
|
10
|
+
"timeout": 2
|
|
11
|
+
},
|
|
12
|
+
"actions": [
|
|
13
|
+
{
|
|
14
|
+
"action": "agent_inventory",
|
|
15
|
+
"input": {
|
|
16
|
+
},
|
|
17
|
+
"output": {
|
|
18
|
+
"agents": {
|
|
19
|
+
"description": "List of agents on the server",
|
|
20
|
+
"display_as": "Agents",
|
|
21
|
+
"default": null
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"display": "always",
|
|
25
|
+
"description": "Inventory of all agents on the server"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"action": "collective_info",
|
|
29
|
+
"input": {
|
|
30
|
+
},
|
|
31
|
+
"output": {
|
|
32
|
+
"main_collective": {
|
|
33
|
+
"description": "The main Collective",
|
|
34
|
+
"display_as": "Main Collective",
|
|
35
|
+
"default": null
|
|
36
|
+
},
|
|
37
|
+
"collectives": {
|
|
38
|
+
"description": "All Collectives",
|
|
39
|
+
"display_as": "All Collectives",
|
|
40
|
+
"default": null
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"display": "always",
|
|
44
|
+
"description": "Info about the main and sub collectives",
|
|
45
|
+
"aggregate": [
|
|
46
|
+
{
|
|
47
|
+
"function": "summary",
|
|
48
|
+
"args": [
|
|
49
|
+
"collectives"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"action": "daemon_stats",
|
|
56
|
+
"input": {
|
|
57
|
+
},
|
|
58
|
+
"output": {
|
|
59
|
+
"threads": {
|
|
60
|
+
"description": "List of threads active in the daemon",
|
|
61
|
+
"display_as": "Threads",
|
|
62
|
+
"default": null
|
|
63
|
+
},
|
|
64
|
+
"agents": {
|
|
65
|
+
"description": "List of agents loaded",
|
|
66
|
+
"display_as": "Agents",
|
|
67
|
+
"default": null
|
|
68
|
+
},
|
|
69
|
+
"pid": {
|
|
70
|
+
"description": "Process ID of the daemon",
|
|
71
|
+
"display_as": "PID",
|
|
72
|
+
"default": null
|
|
73
|
+
},
|
|
74
|
+
"times": {
|
|
75
|
+
"description": "Processor time consumed by the daemon",
|
|
76
|
+
"display_as": "Times",
|
|
77
|
+
"default": null
|
|
78
|
+
},
|
|
79
|
+
"validated": {
|
|
80
|
+
"description": "Messages that passed security validation",
|
|
81
|
+
"display_as": "Security Validated",
|
|
82
|
+
"default": null
|
|
83
|
+
},
|
|
84
|
+
"unvalidated": {
|
|
85
|
+
"description": "Messages that failed security validation",
|
|
86
|
+
"display_as": "Failed Security",
|
|
87
|
+
"default": null
|
|
88
|
+
},
|
|
89
|
+
"passed": {
|
|
90
|
+
"description": "Passed filter checks",
|
|
91
|
+
"display_as": "Passed Filter",
|
|
92
|
+
"default": null
|
|
93
|
+
},
|
|
94
|
+
"filtered": {
|
|
95
|
+
"description": "Didn't pass filter checks",
|
|
96
|
+
"display_as": "Failed Filter",
|
|
97
|
+
"default": null
|
|
98
|
+
},
|
|
99
|
+
"starttime": {
|
|
100
|
+
"description": "Time the server started",
|
|
101
|
+
"display_as": "Start Time",
|
|
102
|
+
"default": null
|
|
103
|
+
},
|
|
104
|
+
"total": {
|
|
105
|
+
"description": "Total messages received",
|
|
106
|
+
"display_as": "Total Messages",
|
|
107
|
+
"default": null
|
|
108
|
+
},
|
|
109
|
+
"replies": {
|
|
110
|
+
"description": "Replies sent back to clients",
|
|
111
|
+
"display_as": "Replies",
|
|
112
|
+
"default": null
|
|
113
|
+
},
|
|
114
|
+
"configfile": {
|
|
115
|
+
"description": "Config file used to start the daemon",
|
|
116
|
+
"display_as": "Config File",
|
|
117
|
+
"default": null
|
|
118
|
+
},
|
|
119
|
+
"version": {
|
|
120
|
+
"description": "MCollective Version",
|
|
121
|
+
"display_as": "Version",
|
|
122
|
+
"default": null
|
|
123
|
+
},
|
|
124
|
+
"ttlexpired": {
|
|
125
|
+
"description": "Messages that did pass TTL checks",
|
|
126
|
+
"display_as": "TTL Expired",
|
|
127
|
+
"default": null
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"display": "always",
|
|
131
|
+
"description": "Get statistics from the running daemon",
|
|
132
|
+
"aggregate": [
|
|
133
|
+
{
|
|
134
|
+
"function": "summary",
|
|
135
|
+
"args": [
|
|
136
|
+
"version"
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"function": "summary",
|
|
141
|
+
"args": [
|
|
142
|
+
"agents"
|
|
143
|
+
]
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"action": "get_config_item",
|
|
149
|
+
"input": {
|
|
150
|
+
"item": {
|
|
151
|
+
"prompt": "Configuration Item",
|
|
152
|
+
"description": "The item to retrieve from the server",
|
|
153
|
+
"type": "string",
|
|
154
|
+
"default": null,
|
|
155
|
+
"optional": false,
|
|
156
|
+
"validation": "^.+$",
|
|
157
|
+
"maxlength": 50
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"output": {
|
|
161
|
+
"item": {
|
|
162
|
+
"description": "The config property being retrieved",
|
|
163
|
+
"display_as": "Property",
|
|
164
|
+
"default": null
|
|
165
|
+
},
|
|
166
|
+
"value": {
|
|
167
|
+
"description": "The value that is in use",
|
|
168
|
+
"display_as": "Value",
|
|
169
|
+
"default": null
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"display": "always",
|
|
173
|
+
"description": "Get the active value of a specific config property",
|
|
174
|
+
"aggregate": [
|
|
175
|
+
{
|
|
176
|
+
"function": "summary",
|
|
177
|
+
"args": [
|
|
178
|
+
"value"
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"action": "get_data",
|
|
185
|
+
"input": {
|
|
186
|
+
"source": {
|
|
187
|
+
"prompt": "Data Source",
|
|
188
|
+
"description": "The data plugin to retrieve information from",
|
|
189
|
+
"type": "string",
|
|
190
|
+
"default": null,
|
|
191
|
+
"optional": false,
|
|
192
|
+
"validation": "^\\w+$",
|
|
193
|
+
"maxlength": 50
|
|
194
|
+
},
|
|
195
|
+
"query": {
|
|
196
|
+
"prompt": "Query",
|
|
197
|
+
"description": "The query argument to supply to the data plugin",
|
|
198
|
+
"type": "string",
|
|
199
|
+
"default": null,
|
|
200
|
+
"optional": true,
|
|
201
|
+
"validation": "^.+$",
|
|
202
|
+
"maxlength": 200
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"output": {
|
|
206
|
+
},
|
|
207
|
+
"display": "always",
|
|
208
|
+
"description": "Get data from a data plugin"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"action": "get_fact",
|
|
212
|
+
"input": {
|
|
213
|
+
"fact": {
|
|
214
|
+
"prompt": "The name of the fact",
|
|
215
|
+
"description": "The fact to retrieve",
|
|
216
|
+
"type": "string",
|
|
217
|
+
"default": null,
|
|
218
|
+
"optional": false,
|
|
219
|
+
"validation": ".+",
|
|
220
|
+
"maxlength": 512
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"output": {
|
|
224
|
+
"fact": {
|
|
225
|
+
"description": "The name of the fact being returned",
|
|
226
|
+
"display_as": "Fact",
|
|
227
|
+
"default": null
|
|
228
|
+
},
|
|
229
|
+
"value": {
|
|
230
|
+
"description": "The value of the fact",
|
|
231
|
+
"display_as": "Value",
|
|
232
|
+
"default": null
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"display": "always",
|
|
236
|
+
"description": "Retrieve a single fact from the fact store",
|
|
237
|
+
"aggregate": [
|
|
238
|
+
{
|
|
239
|
+
"function": "summary",
|
|
240
|
+
"args": [
|
|
241
|
+
"value"
|
|
242
|
+
]
|
|
243
|
+
}
|
|
244
|
+
]
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"action": "get_facts",
|
|
248
|
+
"input": {
|
|
249
|
+
"facts": {
|
|
250
|
+
"prompt": "Comma-separated list of facts",
|
|
251
|
+
"description": "Facts to retrieve",
|
|
252
|
+
"type": "string",
|
|
253
|
+
"default": null,
|
|
254
|
+
"optional": false,
|
|
255
|
+
"validation": "^\\s*[\\w\\.\\-]+(\\s*,\\s*[\\w\\.\\-]+)*$",
|
|
256
|
+
"maxlength": 200
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
"output": {
|
|
260
|
+
"values": {
|
|
261
|
+
"description": "List of values of the facts",
|
|
262
|
+
"display_as": "Values",
|
|
263
|
+
"default": null
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"display": "always",
|
|
267
|
+
"description": "Retrieve multiple facts from the fact store"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"action": "inventory",
|
|
271
|
+
"input": {
|
|
272
|
+
},
|
|
273
|
+
"output": {
|
|
274
|
+
"agents": {
|
|
275
|
+
"description": "List of agent names",
|
|
276
|
+
"display_as": "Agents",
|
|
277
|
+
"default": null
|
|
278
|
+
},
|
|
279
|
+
"facts": {
|
|
280
|
+
"description": "List of facts and values",
|
|
281
|
+
"display_as": "Facts",
|
|
282
|
+
"default": null
|
|
283
|
+
},
|
|
284
|
+
"classes": {
|
|
285
|
+
"description": "List of classes on the system",
|
|
286
|
+
"display_as": "Classes",
|
|
287
|
+
"default": null
|
|
288
|
+
},
|
|
289
|
+
"version": {
|
|
290
|
+
"description": "MCollective Version",
|
|
291
|
+
"display_as": "Version",
|
|
292
|
+
"default": null
|
|
293
|
+
},
|
|
294
|
+
"main_collective": {
|
|
295
|
+
"description": "The main Collective",
|
|
296
|
+
"display_as": "Main Collective",
|
|
297
|
+
"default": null
|
|
298
|
+
},
|
|
299
|
+
"collectives": {
|
|
300
|
+
"description": "All Collectives",
|
|
301
|
+
"display_as": "All Collectives",
|
|
302
|
+
"default": null
|
|
303
|
+
},
|
|
304
|
+
"data_plugins": {
|
|
305
|
+
"description": "List of data plugin names",
|
|
306
|
+
"display_as": "Data Plugins",
|
|
307
|
+
"default": null
|
|
308
|
+
},
|
|
309
|
+
"machines": {
|
|
310
|
+
"description": "Autonomous Agents",
|
|
311
|
+
"display_as": "Machines",
|
|
312
|
+
"default": null
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
"display": "always",
|
|
316
|
+
"description": "System Inventory"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"action": "ping",
|
|
320
|
+
"input": {
|
|
321
|
+
},
|
|
322
|
+
"output": {
|
|
323
|
+
"pong": {
|
|
324
|
+
"description": "The local timestamp",
|
|
325
|
+
"display_as": "Timestamp",
|
|
326
|
+
"default": null
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
"display": "always",
|
|
330
|
+
"description": "Responds to requests for PING with PONG"
|
|
331
|
+
}
|
|
332
|
+
]
|
|
333
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
metadata :name => "scout",
|
|
2
|
+
:description => "Choria Scout Agent Management API",
|
|
3
|
+
:author => "R.I.Pienaar <rip@devco.net>",
|
|
4
|
+
:license => "Apache-2.0",
|
|
5
|
+
:version => "0.0.1",
|
|
6
|
+
:url => "https://choria.io",
|
|
7
|
+
:provider => "golang",
|
|
8
|
+
:timeout => 5
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
action "checks", :description => "Obtain a list of checks and their current status" do
|
|
12
|
+
display :ok
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
output :checks,
|
|
17
|
+
:description => "Details about each check",
|
|
18
|
+
:type => "array",
|
|
19
|
+
:display_as => "Checks"
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
action "resume", :description => "Resume active checking of one or more checks" do
|
|
24
|
+
display :failed
|
|
25
|
+
|
|
26
|
+
input :checks,
|
|
27
|
+
:prompt => "Checks",
|
|
28
|
+
:description => "Check to resume, empty means all",
|
|
29
|
+
:type => :array,
|
|
30
|
+
:optional => true
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
output :failed,
|
|
36
|
+
:description => "List of checks that could not be resumed",
|
|
37
|
+
:type => "array",
|
|
38
|
+
:display_as => "Failed"
|
|
39
|
+
|
|
40
|
+
output :skipped,
|
|
41
|
+
:description => "List of checks that was skipped",
|
|
42
|
+
:type => "array",
|
|
43
|
+
:display_as => "Skipped"
|
|
44
|
+
|
|
45
|
+
output :transitioned,
|
|
46
|
+
:description => "List of checks that were resumed",
|
|
47
|
+
:type => "array",
|
|
48
|
+
:display_as => "Triggered"
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
action "maintenance", :description => "Pause checking of one or more checks" do
|
|
53
|
+
display :failed
|
|
54
|
+
|
|
55
|
+
input :checks,
|
|
56
|
+
:prompt => "Checks",
|
|
57
|
+
:description => "Check to pause, empty means all",
|
|
58
|
+
:type => :array,
|
|
59
|
+
:optional => true
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
output :failed,
|
|
65
|
+
:description => "List of checks that could not be paused",
|
|
66
|
+
:type => "array",
|
|
67
|
+
:display_as => "Failed"
|
|
68
|
+
|
|
69
|
+
output :skipped,
|
|
70
|
+
:description => "List of checks that was skipped",
|
|
71
|
+
:type => "array",
|
|
72
|
+
:display_as => "Skipped"
|
|
73
|
+
|
|
74
|
+
output :transitioned,
|
|
75
|
+
:description => "List of checks that were paused",
|
|
76
|
+
:type => "array",
|
|
77
|
+
:display_as => "Triggered"
|
|
78
|
+
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
action "goss_validate", :description => "Performs a Goss validation using a specific file" do
|
|
82
|
+
display :failed
|
|
83
|
+
|
|
84
|
+
input :file,
|
|
85
|
+
:prompt => "Goss File",
|
|
86
|
+
:description => "Path to the Goss validation specification",
|
|
87
|
+
:type => :string,
|
|
88
|
+
:validation => '.+',
|
|
89
|
+
:maxlength => 256,
|
|
90
|
+
:optional => false
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
input :vars,
|
|
94
|
+
:prompt => "Vars File",
|
|
95
|
+
:description => "Path to a file to use as template variables",
|
|
96
|
+
:type => :string,
|
|
97
|
+
:validation => '.+',
|
|
98
|
+
:maxlength => 256,
|
|
99
|
+
:optional => true
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
output :failures,
|
|
105
|
+
:description => "The number of tests that failed",
|
|
106
|
+
:type => "integer",
|
|
107
|
+
:display_as => "Failed Tests"
|
|
108
|
+
|
|
109
|
+
output :results,
|
|
110
|
+
:description => "The full test results",
|
|
111
|
+
:type => "array",
|
|
112
|
+
:display_as => "Results"
|
|
113
|
+
|
|
114
|
+
output :runtime,
|
|
115
|
+
:description => "The time it took to run the tests, in seconds",
|
|
116
|
+
:type => "integer",
|
|
117
|
+
:display_as => "Runtime"
|
|
118
|
+
|
|
119
|
+
output :success,
|
|
120
|
+
:description => "Indicates if the test passed",
|
|
121
|
+
:type => "string",
|
|
122
|
+
:display_as => "Success"
|
|
123
|
+
|
|
124
|
+
output :summary,
|
|
125
|
+
:description => "A human friendly test result",
|
|
126
|
+
:type => "string",
|
|
127
|
+
:display_as => "Summary"
|
|
128
|
+
|
|
129
|
+
output :tests,
|
|
130
|
+
:description => "The number of tests that were run",
|
|
131
|
+
:type => "integer",
|
|
132
|
+
:display_as => "Tests"
|
|
133
|
+
|
|
134
|
+
summarize do
|
|
135
|
+
aggregate summary(:tests, :format => "%s Test Cases on %d node(s)")
|
|
136
|
+
aggregate summary(:failures, :format => "%s Failed Cases on %d node(s)")
|
|
137
|
+
aggregate summary(:success, :format => "%s Passed Cases on %d node(s)")
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
action "trigger", :description => "Force an immediate check of one or more checks" do
|
|
142
|
+
display :failed
|
|
143
|
+
|
|
144
|
+
input :checks,
|
|
145
|
+
:prompt => "Checks",
|
|
146
|
+
:description => "Check to trigger, empty means all",
|
|
147
|
+
:type => :array,
|
|
148
|
+
:optional => true
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
output :failed,
|
|
154
|
+
:description => "List of checks that could not be triggered",
|
|
155
|
+
:type => "array",
|
|
156
|
+
:display_as => "Failed"
|
|
157
|
+
|
|
158
|
+
output :skipped,
|
|
159
|
+
:description => "List of checks that was skipped",
|
|
160
|
+
:type => "array",
|
|
161
|
+
:display_as => "Skipped"
|
|
162
|
+
|
|
163
|
+
output :transitioned,
|
|
164
|
+
:description => "List of checks that were triggered",
|
|
165
|
+
:type => "array",
|
|
166
|
+
:display_as => "Triggered"
|
|
167
|
+
|
|
168
|
+
end
|
|
169
|
+
|