choria-mcorpc-support 2.22.1 → 2.23.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mcollective.rb +1 -1
  3. data/lib/mcollective/agent/bolt_tasks.ddl +235 -0
  4. data/lib/mcollective/agent/bolt_tasks.json +347 -0
  5. data/lib/mcollective/agent/bolt_tasks.rb +176 -0
  6. data/lib/mcollective/agent/choria_util.ddl +152 -0
  7. data/lib/mcollective/agent/choria_util.json +244 -0
  8. data/lib/mcollective/agent/rpcutil.ddl +7 -3
  9. data/lib/mcollective/agent/rpcutil.json +333 -0
  10. data/lib/mcollective/agent/scout.ddl +169 -0
  11. data/lib/mcollective/agent/scout.json +224 -0
  12. data/lib/mcollective/agents.rb +7 -6
  13. data/lib/mcollective/aggregate.rb +4 -4
  14. data/lib/mcollective/aggregate/average.rb +2 -2
  15. data/lib/mcollective/aggregate/base.rb +2 -2
  16. data/lib/mcollective/aggregate/result.rb +3 -3
  17. data/lib/mcollective/aggregate/result/collection_result.rb +2 -2
  18. data/lib/mcollective/aggregate/result/numeric_result.rb +2 -2
  19. data/lib/mcollective/aggregate/sum.rb +2 -2
  20. data/lib/mcollective/aggregate/summary.rb +3 -4
  21. data/lib/mcollective/application.rb +57 -21
  22. data/lib/mcollective/application/choria.rb +249 -0
  23. data/lib/mcollective/application/completion.rb +6 -6
  24. data/lib/mcollective/application/describe_filter.rb +20 -20
  25. data/lib/mcollective/application/facts.rb +11 -11
  26. data/lib/mcollective/application/federation.rb +239 -0
  27. data/lib/mcollective/application/find.rb +4 -4
  28. data/lib/mcollective/application/help.rb +3 -3
  29. data/lib/mcollective/application/inventory.rb +3 -341
  30. data/lib/mcollective/application/ping.rb +3 -77
  31. data/lib/mcollective/application/playbook.rb +207 -0
  32. data/lib/mcollective/application/plugin.rb +106 -106
  33. data/lib/mcollective/application/rpc.rb +3 -108
  34. data/lib/mcollective/application/tasks.rb +416 -0
  35. data/lib/mcollective/applications.rb +11 -10
  36. data/lib/mcollective/audit/choria.rb +33 -0
  37. data/lib/mcollective/cache.rb +2 -4
  38. data/lib/mcollective/client.rb +11 -10
  39. data/lib/mcollective/config.rb +21 -26
  40. data/lib/mcollective/connector/base.rb +2 -1
  41. data/lib/mcollective/connector/nats.ddl +9 -0
  42. data/lib/mcollective/connector/nats.rb +450 -0
  43. data/lib/mcollective/data.rb +8 -3
  44. data/lib/mcollective/data/agent_data.rb +1 -1
  45. data/lib/mcollective/data/base.rb +6 -5
  46. data/lib/mcollective/data/bolt_task_data.ddl +90 -0
  47. data/lib/mcollective/data/bolt_task_data.rb +32 -0
  48. data/lib/mcollective/data/collective_data.rb +1 -1
  49. data/lib/mcollective/data/fact_data.rb +6 -6
  50. data/lib/mcollective/data/fstat_data.rb +2 -4
  51. data/lib/mcollective/data/result.rb +7 -2
  52. data/lib/mcollective/ddl/agentddl.rb +5 -17
  53. data/lib/mcollective/ddl/base.rb +10 -13
  54. data/lib/mcollective/discovery.rb +12 -26
  55. data/lib/mcollective/discovery/choria.ddl +11 -0
  56. data/lib/mcollective/discovery/choria.rb +223 -0
  57. data/lib/mcollective/discovery/flatfile.rb +7 -8
  58. data/lib/mcollective/discovery/mc.rb +2 -2
  59. data/lib/mcollective/discovery/stdin.rb +17 -18
  60. data/lib/mcollective/exceptions.rb +13 -0
  61. data/lib/mcollective/facts/base.rb +9 -9
  62. data/lib/mcollective/facts/yaml_facts.rb +12 -12
  63. data/lib/mcollective/generators.rb +3 -3
  64. data/lib/mcollective/generators/agent_generator.rb +3 -4
  65. data/lib/mcollective/generators/base.rb +14 -15
  66. data/lib/mcollective/generators/data_generator.rb +5 -6
  67. data/lib/mcollective/log.rb +2 -2
  68. data/lib/mcollective/logger/base.rb +3 -2
  69. data/lib/mcollective/logger/console_logger.rb +10 -10
  70. data/lib/mcollective/logger/file_logger.rb +7 -7
  71. data/lib/mcollective/logger/syslog_logger.rb +11 -15
  72. data/lib/mcollective/matcher.rb +14 -14
  73. data/lib/mcollective/matcher/parser.rb +31 -41
  74. data/lib/mcollective/matcher/scanner.rb +69 -74
  75. data/lib/mcollective/message.rb +10 -17
  76. data/lib/mcollective/monkey_patches.rb +2 -4
  77. data/lib/mcollective/optionparser.rb +1 -0
  78. data/lib/mcollective/pluginmanager.rb +3 -5
  79. data/lib/mcollective/pluginpackager.rb +1 -3
  80. data/lib/mcollective/pluginpackager/agent_definition.rb +3 -8
  81. data/lib/mcollective/pluginpackager/forge_packager.rb +7 -9
  82. data/lib/mcollective/pluginpackager/standard_definition.rb +1 -2
  83. data/lib/mcollective/registration/base.rb +18 -16
  84. data/lib/mcollective/rpc.rb +2 -4
  85. data/lib/mcollective/rpc/actionrunner.rb +16 -18
  86. data/lib/mcollective/rpc/agent.rb +26 -43
  87. data/lib/mcollective/rpc/audit.rb +1 -0
  88. data/lib/mcollective/rpc/client.rb +67 -85
  89. data/lib/mcollective/rpc/helpers.rb +55 -62
  90. data/lib/mcollective/rpc/progress.rb +2 -2
  91. data/lib/mcollective/rpc/reply.rb +17 -19
  92. data/lib/mcollective/rpc/request.rb +7 -5
  93. data/lib/mcollective/rpc/result.rb +6 -8
  94. data/lib/mcollective/rpc/stats.rb +49 -58
  95. data/lib/mcollective/security/base.rb +29 -36
  96. data/lib/mcollective/security/choria.rb +765 -0
  97. data/lib/mcollective/shell.rb +9 -4
  98. data/lib/mcollective/signer/base.rb +28 -0
  99. data/lib/mcollective/signer/choria.rb +185 -0
  100. data/lib/mcollective/ssl.rb +8 -6
  101. data/lib/mcollective/util.rb +52 -53
  102. data/lib/mcollective/util/bolt_support.rb +176 -0
  103. data/lib/mcollective/util/bolt_support/plan_runner.rb +167 -0
  104. data/lib/mcollective/util/bolt_support/task_result.rb +94 -0
  105. data/lib/mcollective/util/bolt_support/task_results.rb +128 -0
  106. data/lib/mcollective/util/choria.rb +1103 -0
  107. data/lib/mcollective/util/indifferent_hash.rb +12 -0
  108. data/lib/mcollective/util/natswrapper.rb +242 -0
  109. data/lib/mcollective/util/playbook.rb +435 -0
  110. data/lib/mcollective/util/playbook/data_stores.rb +201 -0
  111. data/lib/mcollective/util/playbook/data_stores/base.rb +99 -0
  112. data/lib/mcollective/util/playbook/data_stores/consul_data_store.rb +88 -0
  113. data/lib/mcollective/util/playbook/data_stores/environment_data_store.rb +33 -0
  114. data/lib/mcollective/util/playbook/data_stores/etcd_data_store.rb +42 -0
  115. data/lib/mcollective/util/playbook/data_stores/file_data_store.rb +106 -0
  116. data/lib/mcollective/util/playbook/data_stores/shell_data_store.rb +103 -0
  117. data/lib/mcollective/util/playbook/inputs.rb +265 -0
  118. data/lib/mcollective/util/playbook/nodes.rb +207 -0
  119. data/lib/mcollective/util/playbook/nodes/mcollective_nodes.rb +86 -0
  120. data/lib/mcollective/util/playbook/nodes/pql_nodes.rb +40 -0
  121. data/lib/mcollective/util/playbook/nodes/shell_nodes.rb +55 -0
  122. data/lib/mcollective/util/playbook/nodes/terraform_nodes.rb +65 -0
  123. data/lib/mcollective/util/playbook/nodes/yaml_nodes.rb +47 -0
  124. data/lib/mcollective/util/playbook/playbook_logger.rb +47 -0
  125. data/lib/mcollective/util/playbook/puppet_logger.rb +51 -0
  126. data/lib/mcollective/util/playbook/report.rb +152 -0
  127. data/lib/mcollective/util/playbook/task_result.rb +55 -0
  128. data/lib/mcollective/util/playbook/tasks.rb +196 -0
  129. data/lib/mcollective/util/playbook/tasks/base.rb +45 -0
  130. data/lib/mcollective/util/playbook/tasks/graphite_event_task.rb +64 -0
  131. data/lib/mcollective/util/playbook/tasks/mcollective_task.rb +356 -0
  132. data/lib/mcollective/util/playbook/tasks/shell_task.rb +93 -0
  133. data/lib/mcollective/util/playbook/tasks/slack_task.rb +105 -0
  134. data/lib/mcollective/util/playbook/tasks/webhook_task.rb +136 -0
  135. data/lib/mcollective/util/playbook/template_util.rb +98 -0
  136. data/lib/mcollective/util/playbook/uses.rb +169 -0
  137. data/lib/mcollective/util/tasks_support.rb +733 -0
  138. data/lib/mcollective/util/tasks_support/cli.rb +260 -0
  139. data/lib/mcollective/util/tasks_support/default_formatter.rb +138 -0
  140. data/lib/mcollective/util/tasks_support/json_formatter.rb +108 -0
  141. data/lib/mcollective/validator.rb +6 -1
  142. data/lib/mcollective/validator/bolt_task_name_validator.ddl +7 -0
  143. data/lib/mcollective/validator/bolt_task_name_validator.rb +11 -0
  144. data/lib/mcollective/validator/length_validator.rb +1 -3
  145. metadata +67 -4
@@ -30,7 +30,7 @@ module MCollective
30
30
  end
31
31
 
32
32
  # Allows validation plugins to be called like module methods : Validator.validate()
33
- def self.method_missing(method, *args, &block) # rubocop:disable Style/MethodMissing
33
+ def self.method_missing(method, *args, &block)
34
34
  if has_validator?(method)
35
35
  Validator[method].validate(*args)
36
36
  else
@@ -38,6 +38,10 @@ module MCollective
38
38
  end
39
39
  end
40
40
 
41
+ def self.respond_to_missing?(method, *)
42
+ has_validator?(method)
43
+ end
44
+
41
45
  def self.has_validator?(validator)
42
46
  const_defined?(validator_class(validator))
43
47
  end
@@ -48,6 +52,7 @@ module MCollective
48
52
 
49
53
  def self.load_validators?
50
54
  return true if @last_load.nil?
55
+
51
56
  (@last_load - Time.now.to_i) > 300
52
57
  end
53
58
 
@@ -0,0 +1,7 @@
1
+ metadata :name => "bolt_task_name",
2
+ :description => "Validates that a string matches Bolt Task Name",
3
+ :author => "R.I.Pienaar <rip@devco.net>",
4
+ :license => "Apache-2.0",
5
+ :version => "0.19.0",
6
+ :url => "https://choria.io",
7
+ :timeout => 1
@@ -0,0 +1,11 @@
1
+ module MCollective
2
+ module Validator
3
+ class Bolt_task_nameValidator
4
+ def self.validate(name)
5
+ Validator.typecheck(name, :string)
6
+
7
+ raise("'%s' is not a valid Bolt Task name" % name) unless name =~ /\A([a-z][a-z0-9_]*)?(::[a-z][a-z0-9_]*)*\Z/
8
+ end
9
+ end
10
+ end
11
+ end
@@ -2,9 +2,7 @@ module MCollective
2
2
  module Validator
3
3
  class LengthValidator
4
4
  def self.validate(validator, length)
5
- if (validator.size > length) && (length > 0)
6
- raise ValidatorError, "Input string is longer than #{length} character(s)"
7
- end
5
+ raise ValidatorError, "Input string is longer than #{length} character(s)" if (validator.size > length) && (length > 0)
8
6
  end
9
7
  end
10
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: choria-mcorpc-support
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.22.1
4
+ version: 2.23.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - R.I.Pienaar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-25 00:00:00.000000000 Z
11
+ date: 2020-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: systemu
@@ -54,7 +54,15 @@ files:
54
54
  - bin/mco
55
55
  - lib/mcollective.rb
56
56
  - lib/mcollective/agent.rb
57
+ - lib/mcollective/agent/bolt_tasks.ddl
58
+ - lib/mcollective/agent/bolt_tasks.json
59
+ - lib/mcollective/agent/bolt_tasks.rb
60
+ - lib/mcollective/agent/choria_util.ddl
61
+ - lib/mcollective/agent/choria_util.json
57
62
  - lib/mcollective/agent/rpcutil.ddl
63
+ - lib/mcollective/agent/rpcutil.json
64
+ - lib/mcollective/agent/scout.ddl
65
+ - lib/mcollective/agent/scout.json
58
66
  - lib/mcollective/agents.rb
59
67
  - lib/mcollective/aggregate.rb
60
68
  - lib/mcollective/aggregate/average.ddl
@@ -69,25 +77,34 @@ files:
69
77
  - lib/mcollective/aggregate/summary.ddl
70
78
  - lib/mcollective/aggregate/summary.rb
71
79
  - lib/mcollective/application.rb
80
+ - lib/mcollective/application/choria.rb
72
81
  - lib/mcollective/application/completion.rb
73
82
  - lib/mcollective/application/describe_filter.rb
74
83
  - lib/mcollective/application/facts.rb
84
+ - lib/mcollective/application/federation.rb
75
85
  - lib/mcollective/application/find.rb
76
86
  - lib/mcollective/application/help.rb
77
87
  - lib/mcollective/application/inventory.rb
78
88
  - lib/mcollective/application/ping.rb
89
+ - lib/mcollective/application/playbook.rb
79
90
  - lib/mcollective/application/plugin.rb
80
91
  - lib/mcollective/application/rpc.rb
92
+ - lib/mcollective/application/tasks.rb
81
93
  - lib/mcollective/applications.rb
94
+ - lib/mcollective/audit/choria.rb
82
95
  - lib/mcollective/cache.rb
83
96
  - lib/mcollective/client.rb
84
97
  - lib/mcollective/config.rb
85
98
  - lib/mcollective/connector.rb
86
99
  - lib/mcollective/connector/base.rb
100
+ - lib/mcollective/connector/nats.ddl
101
+ - lib/mcollective/connector/nats.rb
87
102
  - lib/mcollective/data.rb
88
103
  - lib/mcollective/data/agent_data.ddl
89
104
  - lib/mcollective/data/agent_data.rb
90
105
  - lib/mcollective/data/base.rb
106
+ - lib/mcollective/data/bolt_task_data.ddl
107
+ - lib/mcollective/data/bolt_task_data.rb
91
108
  - lib/mcollective/data/collective_data.ddl
92
109
  - lib/mcollective/data/collective_data.rb
93
110
  - lib/mcollective/data/fact_data.ddl
@@ -102,6 +119,8 @@ files:
102
119
  - lib/mcollective/ddl/discoveryddl.rb
103
120
  - lib/mcollective/ddl/validatorddl.rb
104
121
  - lib/mcollective/discovery.rb
122
+ - lib/mcollective/discovery/choria.ddl
123
+ - lib/mcollective/discovery/choria.rb
105
124
  - lib/mcollective/discovery/flatfile.ddl
106
125
  - lib/mcollective/discovery/flatfile.rb
107
126
  - lib/mcollective/discovery/mc.ddl
@@ -158,12 +177,56 @@ files:
158
177
  - lib/mcollective/runnerstats.rb
159
178
  - lib/mcollective/security.rb
160
179
  - lib/mcollective/security/base.rb
180
+ - lib/mcollective/security/choria.rb
161
181
  - lib/mcollective/shell.rb
182
+ - lib/mcollective/signer/base.rb
183
+ - lib/mcollective/signer/choria.rb
162
184
  - lib/mcollective/ssl.rb
163
185
  - lib/mcollective/util.rb
186
+ - lib/mcollective/util/bolt_support.rb
187
+ - lib/mcollective/util/bolt_support/plan_runner.rb
188
+ - lib/mcollective/util/bolt_support/task_result.rb
189
+ - lib/mcollective/util/bolt_support/task_results.rb
190
+ - lib/mcollective/util/choria.rb
191
+ - lib/mcollective/util/indifferent_hash.rb
192
+ - lib/mcollective/util/natswrapper.rb
193
+ - lib/mcollective/util/playbook.rb
194
+ - lib/mcollective/util/playbook/data_stores.rb
195
+ - lib/mcollective/util/playbook/data_stores/base.rb
196
+ - lib/mcollective/util/playbook/data_stores/consul_data_store.rb
197
+ - lib/mcollective/util/playbook/data_stores/environment_data_store.rb
198
+ - lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
199
+ - lib/mcollective/util/playbook/data_stores/file_data_store.rb
200
+ - lib/mcollective/util/playbook/data_stores/shell_data_store.rb
201
+ - lib/mcollective/util/playbook/inputs.rb
202
+ - lib/mcollective/util/playbook/nodes.rb
203
+ - lib/mcollective/util/playbook/nodes/mcollective_nodes.rb
204
+ - lib/mcollective/util/playbook/nodes/pql_nodes.rb
205
+ - lib/mcollective/util/playbook/nodes/shell_nodes.rb
206
+ - lib/mcollective/util/playbook/nodes/terraform_nodes.rb
207
+ - lib/mcollective/util/playbook/nodes/yaml_nodes.rb
208
+ - lib/mcollective/util/playbook/playbook_logger.rb
209
+ - lib/mcollective/util/playbook/puppet_logger.rb
210
+ - lib/mcollective/util/playbook/report.rb
211
+ - lib/mcollective/util/playbook/task_result.rb
212
+ - lib/mcollective/util/playbook/tasks.rb
213
+ - lib/mcollective/util/playbook/tasks/base.rb
214
+ - lib/mcollective/util/playbook/tasks/graphite_event_task.rb
215
+ - lib/mcollective/util/playbook/tasks/mcollective_task.rb
216
+ - lib/mcollective/util/playbook/tasks/shell_task.rb
217
+ - lib/mcollective/util/playbook/tasks/slack_task.rb
218
+ - lib/mcollective/util/playbook/tasks/webhook_task.rb
219
+ - lib/mcollective/util/playbook/template_util.rb
220
+ - lib/mcollective/util/playbook/uses.rb
221
+ - lib/mcollective/util/tasks_support.rb
222
+ - lib/mcollective/util/tasks_support/cli.rb
223
+ - lib/mcollective/util/tasks_support/default_formatter.rb
224
+ - lib/mcollective/util/tasks_support/json_formatter.rb
164
225
  - lib/mcollective/validator.rb
165
226
  - lib/mcollective/validator/array_validator.ddl
166
227
  - lib/mcollective/validator/array_validator.rb
228
+ - lib/mcollective/validator/bolt_task_name_validator.ddl
229
+ - lib/mcollective/validator/bolt_task_name_validator.rb
167
230
  - lib/mcollective/validator/ipv4address_validator.ddl
168
231
  - lib/mcollective/validator/ipv4address_validator.rb
169
232
  - lib/mcollective/validator/ipv6address_validator.ddl
@@ -191,9 +254,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
191
254
  version: '0'
192
255
  required_rubygems_version: !ruby/object:Gem::Requirement
193
256
  requirements:
194
- - - ">="
257
+ - - ">"
195
258
  - !ruby/object:Gem::Version
196
- version: '0'
259
+ version: 1.3.1
197
260
  requirements: []
198
261
  rubyforge_project:
199
262
  rubygems_version: 2.6.13