hybrid_platforms_conductor 32.12.0 → 32.13.4

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.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1133 -0
  3. data/LICENSE.md +31 -0
  4. data/README.md +402 -0
  5. data/bin/setup +1 -1
  6. data/docs/api.md +349 -0
  7. data/docs/config_dsl.md +315 -0
  8. data/docs/executables.md +226 -0
  9. data/docs/executables/check-node.md +155 -0
  10. data/docs/executables/deploy.md +198 -0
  11. data/docs/executables/dump_nodes_json.md +110 -0
  12. data/docs/executables/free_ips.md +93 -0
  13. data/docs/executables/free_veids.md +73 -0
  14. data/docs/executables/get_impacted_nodes.md +94 -0
  15. data/docs/executables/last_deploys.md +114 -0
  16. data/docs/executables/nodes_to_deploy.md +139 -0
  17. data/docs/executables/report.md +159 -0
  18. data/docs/executables/run.md +126 -0
  19. data/docs/executables/setup.md +92 -0
  20. data/docs/executables/ssh_config.md +151 -0
  21. data/docs/executables/test.md +213 -0
  22. data/docs/executables/topograph.md +139 -0
  23. data/docs/gen/mermaid/README.md-0.png +0 -0
  24. data/docs/gen/mermaid/docs/executables/check-node.md-0.png +0 -0
  25. data/docs/gen/mermaid/docs/executables/deploy.md-0.png +0 -0
  26. data/docs/gen/mermaid/docs/executables/free_ips.md-0.png +0 -0
  27. data/docs/gen/mermaid/docs/executables/free_veids.md-0.png +0 -0
  28. data/docs/gen/mermaid/docs/executables/get_impacted_nodes.md-0.png +0 -0
  29. data/docs/gen/mermaid/docs/executables/last_deploys.md-0.png +0 -0
  30. data/docs/gen/mermaid/docs/executables/nodes_to_deploy.md-0.png +0 -0
  31. data/docs/gen/mermaid/docs/executables/report.md-0.png +0 -0
  32. data/docs/gen/mermaid/docs/executables/run.md-0.png +0 -0
  33. data/docs/gen/mermaid/docs/executables/setup.md-0.png +0 -0
  34. data/docs/gen/mermaid/docs/executables/ssh_config.md-0.png +0 -0
  35. data/docs/gen/mermaid/docs/executables/test.md-0.png +0 -0
  36. data/docs/install.md +161 -0
  37. data/docs/plugins.md +215 -0
  38. data/docs/plugins/action/bash.md +37 -0
  39. data/docs/plugins/action/interactive.md +37 -0
  40. data/docs/plugins/action/remote_bash.md +67 -0
  41. data/docs/plugins/action/ruby.md +69 -0
  42. data/docs/plugins/action/scp.md +61 -0
  43. data/docs/plugins/cmdb/config.md +46 -0
  44. data/docs/plugins/cmdb/host_ip.md +33 -0
  45. data/docs/plugins/cmdb/host_keys.md +33 -0
  46. data/docs/plugins/cmdb/platform_handlers.md +33 -0
  47. data/docs/plugins/connector/local.md +28 -0
  48. data/docs/plugins/connector/ssh.md +95 -0
  49. data/docs/plugins/platform_handler/yaml_inventory.md +105 -0
  50. data/docs/plugins/provisioner/docker.md +27 -0
  51. data/docs/plugins/provisioner/podman.md +27 -0
  52. data/docs/plugins/provisioner/proxmox.md +115 -0
  53. data/docs/plugins/report/confluence.md +49 -0
  54. data/docs/plugins/report/mediawiki.md +28 -0
  55. data/docs/plugins/report/stdout.md +32 -0
  56. data/docs/plugins/test/bitbucket_conf.md +97 -0
  57. data/docs/plugins/test/can_be_checked.md +27 -0
  58. data/docs/plugins/test/check_deploy_and_idempotence.md +61 -0
  59. data/docs/plugins/test/check_from_scratch.md +28 -0
  60. data/docs/plugins/test/connection.md +27 -0
  61. data/docs/plugins/test/deploy_freshness.md +27 -0
  62. data/docs/plugins/test/deploy_from_scratch.md +28 -0
  63. data/docs/plugins/test/deploy_removes_root_access.md +29 -0
  64. data/docs/plugins/test/divergence.md +41 -0
  65. data/docs/plugins/test/executables.md +26 -0
  66. data/docs/plugins/test/file_system.md +49 -0
  67. data/docs/plugins/test/file_system_hdfs.md +65 -0
  68. data/docs/plugins/test/hostname.md +27 -0
  69. data/docs/plugins/test/idempotence.md +56 -0
  70. data/docs/plugins/test/ip.md +28 -0
  71. data/docs/plugins/test/jenkins_ci_conf.md +54 -0
  72. data/docs/plugins/test/jenkins_ci_masters_ok.md +54 -0
  73. data/docs/plugins/test/linear_strategy.md +26 -0
  74. data/docs/plugins/test/local_users.md +48 -0
  75. data/docs/plugins/test/mounts.md +55 -0
  76. data/docs/plugins/test/orphan_files.md +38 -0
  77. data/docs/plugins/test/ports.md +50 -0
  78. data/docs/plugins/test/private_ips.md +27 -0
  79. data/docs/plugins/test/public_ips.md +27 -0
  80. data/docs/plugins/test/spectre.md +26 -0
  81. data/docs/plugins/test/veids.md +27 -0
  82. data/docs/plugins/test/vulnerabilities.md +65 -0
  83. data/docs/plugins/test_report/confluence.md +43 -0
  84. data/docs/plugins/test_report/stdout.md +26 -0
  85. data/docs/plugins_create.md +135 -0
  86. data/docs/tutorial.md +61 -0
  87. data/docs/tutorial/01_installation.md +131 -0
  88. data/docs/tutorial/02_first_node.md +468 -0
  89. data/docs/tutorial/03_scale.md +878 -0
  90. data/docs/tutorial/04_test.md +977 -0
  91. data/docs/tutorial/05_extend_with_plugins.md +1132 -0
  92. data/examples/bare/Gemfile +4 -0
  93. data/examples/bare/hpc_config.rb +2 -0
  94. data/examples/localhost/Gemfile +4 -0
  95. data/examples/localhost/hpc_config.rb +2 -0
  96. data/examples/localhost/inventory.yaml +4 -0
  97. data/examples/tutorial/01_installation/my-platforms/Gemfile +3 -0
  98. data/examples/tutorial/01_installation/my-platforms/hpc_config.rb +0 -0
  99. data/examples/tutorial/02_first_node/my-platforms/Gemfile +3 -0
  100. data/examples/tutorial/02_first_node/my-platforms/hpc_config.rb +1 -0
  101. data/examples/tutorial/02_first_node/my-service-conf-repo/inventory.yaml +13 -0
  102. data/examples/tutorial/02_first_node/my-service-conf-repo/my-service.conf.erb +3 -0
  103. data/examples/tutorial/02_first_node/my-service-conf-repo/service_my-service.rb +58 -0
  104. data/examples/tutorial/02_first_node/node/my-service.conf +4 -0
  105. data/examples/tutorial/03_scale/my-platforms/Gemfile +3 -0
  106. data/examples/tutorial/03_scale/my-platforms/hpc_config.rb +1 -0
  107. data/examples/tutorial/03_scale/my-platforms/my_commands.bash +2 -0
  108. data/examples/tutorial/03_scale/my-service-conf-repo/inventory.yaml +90 -0
  109. data/examples/tutorial/03_scale/my-service-conf-repo/my-service.conf.erb +3 -0
  110. data/examples/tutorial/03_scale/my-service-conf-repo/service_my-service.rb +58 -0
  111. data/examples/tutorial/03_scale/my-service-conf-repo/service_web-hello.rb +43 -0
  112. data/examples/tutorial/03_scale/node/my-service.conf +4 -0
  113. data/examples/tutorial/03_scale/web_docker_image/Dockerfile +33 -0
  114. data/examples/tutorial/03_scale/web_docker_image/hello_world.txt +1 -0
  115. data/examples/tutorial/03_scale/web_docker_image/hpc_root.key +27 -0
  116. data/examples/tutorial/03_scale/web_docker_image/hpc_root.key.pub +1 -0
  117. data/examples/tutorial/03_scale/web_docker_image/main.go +43 -0
  118. data/examples/tutorial/03_scale/web_docker_image/start.sh +7 -0
  119. data/examples/tutorial/03_scale/web_docker_image/test.bash +6 -0
  120. data/examples/tutorial/04_test/my-platforms/Gemfile +3 -0
  121. data/examples/tutorial/04_test/my-platforms/hpc_config.rb +12 -0
  122. data/examples/tutorial/04_test/my-platforms/images/debian_10/Dockerfile +13 -0
  123. data/examples/tutorial/04_test/my-platforms/my_commands.bash +2 -0
  124. data/examples/tutorial/04_test/my-service-conf-repo/inventory.yaml +100 -0
  125. data/examples/tutorial/04_test/my-service-conf-repo/my-service.conf.erb +3 -0
  126. data/examples/tutorial/04_test/my-service-conf-repo/service_my-service.rb +58 -0
  127. data/examples/tutorial/04_test/my-service-conf-repo/service_web-hello.rb +43 -0
  128. data/examples/tutorial/04_test/node/my-service.conf +4 -0
  129. data/examples/tutorial/04_test/web_docker_image/Dockerfile +33 -0
  130. data/examples/tutorial/04_test/web_docker_image/hello_world.txt +1 -0
  131. data/examples/tutorial/04_test/web_docker_image/hpc_root.key +27 -0
  132. data/examples/tutorial/04_test/web_docker_image/hpc_root.key.pub +1 -0
  133. data/examples/tutorial/04_test/web_docker_image/main.go +43 -0
  134. data/examples/tutorial/04_test/web_docker_image/start.sh +7 -0
  135. data/examples/tutorial/04_test/web_docker_image/test.bash +6 -0
  136. data/examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/hosts.json +12 -0
  137. data/examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-gcc.bash +14 -0
  138. data/examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-python.bash +14 -0
  139. data/examples/tutorial/05_extend_with_plugins/dev_docker_image/Dockerfile +20 -0
  140. data/examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key +27 -0
  141. data/examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key.pub +1 -0
  142. data/examples/tutorial/05_extend_with_plugins/my-platforms/Gemfile +4 -0
  143. data/examples/tutorial/05_extend_with_plugins/my-platforms/hpc_config.rb +13 -0
  144. data/examples/tutorial/05_extend_with_plugins/my-platforms/images/debian_10/Dockerfile +13 -0
  145. data/examples/tutorial/05_extend_with_plugins/my-platforms/my_commands.bash +2 -0
  146. data/examples/tutorial/05_extend_with_plugins/my-service-conf-repo/inventory.yaml +100 -0
  147. data/examples/tutorial/05_extend_with_plugins/my-service-conf-repo/my-service.conf.erb +3 -0
  148. data/examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_my-service.rb +58 -0
  149. data/examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_web-hello.rb +43 -0
  150. data/examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/platform_handler/json_bash.rb +115 -0
  151. data/examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/report/web_report.rb +52 -0
  152. data/examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/test/root_space.rb +44 -0
  153. data/examples/tutorial/05_extend_with_plugins/my_hpc_plugins/my_hpc_plugins.gemspec +15 -0
  154. data/examples/tutorial/05_extend_with_plugins/node/my-service.conf +4 -0
  155. data/examples/tutorial/05_extend_with_plugins/web_docker_image/Dockerfile +33 -0
  156. data/examples/tutorial/05_extend_with_plugins/web_docker_image/hello_world.txt +1 -0
  157. data/examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key +27 -0
  158. data/examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key.pub +1 -0
  159. data/examples/tutorial/05_extend_with_plugins/web_docker_image/main.go +43 -0
  160. data/examples/tutorial/05_extend_with_plugins/web_docker_image/start.sh +7 -0
  161. data/examples/tutorial/05_extend_with_plugins/web_docker_image/test.bash +6 -0
  162. data/lib/hybrid_platforms_conductor/actions_executor.rb +1 -0
  163. data/lib/hybrid_platforms_conductor/deployer.rb +3 -2
  164. data/lib/hybrid_platforms_conductor/hpc_plugins/action/remote_bash.rb +29 -13
  165. data/lib/hybrid_platforms_conductor/hpc_plugins/action/scp.rb +1 -1
  166. data/lib/hybrid_platforms_conductor/hpc_plugins/connector/local.rb +98 -0
  167. data/lib/hybrid_platforms_conductor/hpc_plugins/connector/my_connector.rb.sample +2 -2
  168. data/lib/hybrid_platforms_conductor/hpc_plugins/connector/ssh.rb +7 -3
  169. data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/platform_handler_plugin.rb.sample +5 -5
  170. data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/yaml_inventory.rb +140 -0
  171. data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox.rb +5 -2
  172. data/lib/hybrid_platforms_conductor/hpc_plugins/test/bitbucket_conf.rb +4 -4
  173. data/lib/hybrid_platforms_conductor/hpc_plugins/test/deploy_freshness.rb +1 -1
  174. data/lib/hybrid_platforms_conductor/hpc_plugins/test/deploy_removes_root_access.rb +19 -17
  175. data/lib/hybrid_platforms_conductor/hpc_plugins/test/divergence.rb +3 -0
  176. data/lib/hybrid_platforms_conductor/hpc_plugins/test/hostname.rb +2 -1
  177. data/lib/hybrid_platforms_conductor/hpc_plugins/test/ip.rb +2 -1
  178. data/lib/hybrid_platforms_conductor/hpc_plugins/test/local_users.rb +2 -1
  179. data/lib/hybrid_platforms_conductor/hpc_plugins/test/mounts.rb +4 -3
  180. data/lib/hybrid_platforms_conductor/hpc_plugins/test/orphan_files.rb +2 -1
  181. data/lib/hybrid_platforms_conductor/hpc_plugins/test/spectre.rb +1 -1
  182. data/lib/hybrid_platforms_conductor/hpc_plugins/test/vulnerabilities.rb +9 -7
  183. data/lib/hybrid_platforms_conductor/hpc_plugins/test_report/confluence.rb +1 -1
  184. data/lib/hybrid_platforms_conductor/json_dumper.rb +1 -1
  185. data/lib/hybrid_platforms_conductor/platform_handler.rb +1 -1
  186. data/lib/hybrid_platforms_conductor/services_handler.rb +18 -16
  187. data/lib/hybrid_platforms_conductor/tests_runner.rb +0 -1
  188. data/lib/hybrid_platforms_conductor/topographer.rb +0 -1
  189. data/lib/hybrid_platforms_conductor/version.rb +1 -1
  190. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/remote_bash_spec.rb +16 -0
  191. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/local/connectable_nodes_spec.rb +30 -0
  192. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/local/remote_actions_spec.rb +113 -0
  193. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/cli_options_spec.rb +6 -2
  194. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/global_helpers_spec.rb +38 -1
  195. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/remote_actions_spec.rb +8 -8
  196. data/spec/hybrid_platforms_conductor_test/docs_spec.rb +10 -0
  197. data/tools/check_md +89 -0
  198. data/tools/generate_mermaid +75 -0
  199. metadata +337 -12
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+ require 'tempfile'
5
+
6
+ MARKER_BEGIN = '<!-- Mermaid generator - Section start -->'
7
+ MARKER_END = '<!-- Mermaid generator - Section end -->'
8
+
9
+ # Generate Mermaid diagrams from a Markdown file.
10
+ # Modify the Markdown file if the Mermaid diagram is to be referenced for the first time.
11
+ #
12
+ # Parameters::
13
+ # * *file* (String): Markdown file to be parsed
14
+ def gen_mermaid(file)
15
+ markdown = []
16
+ mermaid_content = nil
17
+ in_markers = false
18
+ idx_mermaid = 0
19
+ File.read(file).split("\n").each do |line|
20
+ # Logic is simple: Mermaid code blocks should be encapsulated between comment markers that will also include the generated diagram and the details setion.
21
+ # We always regenerate the content between existing comment markers.
22
+ # If those comment markers are missing, we will find Mermaid code blocks to add them.
23
+ # We always re-generate all diagrams.
24
+ if line == MARKER_BEGIN
25
+ in_markers = true
26
+ elsif line == MARKER_END
27
+ in_markers = false
28
+ elsif line == '```mermaid'
29
+ mermaid_content = []
30
+ elsif line == '```'
31
+ # End any block, including Mermaid block
32
+ if mermaid_content.nil?
33
+ markdown << line
34
+ else
35
+ # We have a diagram to generate
36
+ gen_file = "docs/gen/mermaid/#{file}-#{idx_mermaid}.png"
37
+ puts "Generate #{file} / Diagram ##{idx_mermaid} => #{gen_file}..."
38
+ FileUtils.mkdir_p File.dirname(gen_file)
39
+ Tempfile.create('mermaid') do |mermaid_file|
40
+ mermaid_file.write(mermaid_content.join("\n"))
41
+ mermaid_file.flush
42
+ mmdc_cmd = "./node_modules/.bin/mmdc -p #{@puppeteer_conf} -i #{mermaid_file.path} -o #{gen_file} -w 2048"
43
+ raise "Error while running mmdc: #{mmdc_cmd}" unless system mmdc_cmd
44
+ end
45
+ markdown.concat [
46
+ MARKER_BEGIN,
47
+ "![Mermaid diagram](/#{gen_file})",
48
+ '<details>',
49
+ '<summary><sub><sup>Diagram code</sup></sub></summary>',
50
+ '',
51
+ '```mermaid'
52
+ ] + mermaid_content + [
53
+ '```',
54
+ '</details>',
55
+ MARKER_END
56
+ ]
57
+ idx_mermaid += 1
58
+ mermaid_content = nil
59
+ end
60
+ elsif !mermaid_content.nil?
61
+ # We are in a Mermaid content
62
+ mermaid_content << line
63
+ elsif !in_markers
64
+ markdown << line
65
+ end
66
+ end
67
+ File.write(file, markdown.map { |line| "#{line}\n" }.join) if idx_mermaid > 0
68
+ end
69
+
70
+ Tempfile.create('puppeteer') do |puppeteer_file|
71
+ puppeteer_file.write({ args: ['--no-sandbox'] }.to_json)
72
+ puppeteer_file.flush
73
+ @puppeteer_conf = puppeteer_file.path
74
+ ARGV.each { |file| gen_mermaid(file) }
75
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hybrid_platforms_conductor
3
3
  version: !ruby/object:Gem::Version
4
- version: 32.12.0
4
+ version: 32.13.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muriel Salvan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-09 00:00:00.000000000 Z
11
+ date: 2021-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: range_operators
@@ -281,23 +281,185 @@ description: Provides a complete toolset to help DevOps maintain, deploy, monito
281
281
  email:
282
282
  - muriel@x-aeon.com
283
283
  executables:
284
- - run
285
- - get_impacted_nodes
286
284
  - dump_nodes_json
287
- - check-node
288
- - nodes_to_deploy
285
+ - get_impacted_nodes
286
+ - topograph
287
+ - run
289
288
  - free_veids
289
+ - nodes_to_deploy
290
+ - setup
290
291
  - free_ips
291
- - test
292
- - deploy
292
+ - check-node
293
293
  - report
294
- - topograph
295
- - setup
294
+ - test
296
295
  - last_deploys
297
296
  - ssh_config
297
+ - deploy
298
298
  extensions: []
299
- extra_rdoc_files: []
299
+ extra_rdoc_files:
300
+ - CHANGELOG.md
301
+ - LICENSE.md
302
+ - README.md
303
+ - docs/plugins.md
304
+ - docs/plugins/provisioner/podman.md
305
+ - docs/plugins/provisioner/docker.md
306
+ - docs/plugins/provisioner/proxmox.md
307
+ - docs/plugins/connector/local.md
308
+ - docs/plugins/connector/ssh.md
309
+ - docs/plugins/action/scp.md
310
+ - docs/plugins/action/interactive.md
311
+ - docs/plugins/action/bash.md
312
+ - docs/plugins/action/remote_bash.md
313
+ - docs/plugins/action/ruby.md
314
+ - docs/plugins/report/stdout.md
315
+ - docs/plugins/report/confluence.md
316
+ - docs/plugins/report/mediawiki.md
317
+ - docs/plugins/cmdb/host_ip.md
318
+ - docs/plugins/cmdb/platform_handlers.md
319
+ - docs/plugins/cmdb/config.md
320
+ - docs/plugins/cmdb/host_keys.md
321
+ - docs/plugins/test/veids.md
322
+ - docs/plugins/test/idempotence.md
323
+ - docs/plugins/test/jenkins_ci_conf.md
324
+ - docs/plugins/test/check_deploy_and_idempotence.md
325
+ - docs/plugins/test/divergence.md
326
+ - docs/plugins/test/check_from_scratch.md
327
+ - docs/plugins/test/bitbucket_conf.md
328
+ - docs/plugins/test/public_ips.md
329
+ - docs/plugins/test/deploy_freshness.md
330
+ - docs/plugins/test/private_ips.md
331
+ - docs/plugins/test/connection.md
332
+ - docs/plugins/test/orphan_files.md
333
+ - docs/plugins/test/ports.md
334
+ - docs/plugins/test/file_system_hdfs.md
335
+ - docs/plugins/test/jenkins_ci_masters_ok.md
336
+ - docs/plugins/test/can_be_checked.md
337
+ - docs/plugins/test/local_users.md
338
+ - docs/plugins/test/executables.md
339
+ - docs/plugins/test/spectre.md
340
+ - docs/plugins/test/deploy_removes_root_access.md
341
+ - docs/plugins/test/deploy_from_scratch.md
342
+ - docs/plugins/test/file_system.md
343
+ - docs/plugins/test/mounts.md
344
+ - docs/plugins/test/ip.md
345
+ - docs/plugins/test/vulnerabilities.md
346
+ - docs/plugins/test/hostname.md
347
+ - docs/plugins/test/linear_strategy.md
348
+ - docs/plugins/platform_handler/yaml_inventory.md
349
+ - docs/plugins/test_report/stdout.md
350
+ - docs/plugins/test_report/confluence.md
351
+ - docs/install.md
352
+ - docs/plugins_create.md
353
+ - docs/executables/topograph.md
354
+ - docs/executables/report.md
355
+ - docs/executables/free_ips.md
356
+ - docs/executables/free_veids.md
357
+ - docs/executables/last_deploys.md
358
+ - docs/executables/check-node.md
359
+ - docs/executables/nodes_to_deploy.md
360
+ - docs/executables/run.md
361
+ - docs/executables/deploy.md
362
+ - docs/executables/setup.md
363
+ - docs/executables/dump_nodes_json.md
364
+ - docs/executables/ssh_config.md
365
+ - docs/executables/get_impacted_nodes.md
366
+ - docs/executables/test.md
367
+ - docs/executables.md
368
+ - docs/gen/mermaid/README.md-0.png
369
+ - docs/gen/mermaid/docs/executables/last_deploys.md-0.png
370
+ - docs/gen/mermaid/docs/executables/check-node.md-0.png
371
+ - docs/gen/mermaid/docs/executables/deploy.md-0.png
372
+ - docs/gen/mermaid/docs/executables/free_ips.md-0.png
373
+ - docs/gen/mermaid/docs/executables/nodes_to_deploy.md-0.png
374
+ - docs/gen/mermaid/docs/executables/setup.md-0.png
375
+ - docs/gen/mermaid/docs/executables/test.md-0.png
376
+ - docs/gen/mermaid/docs/executables/run.md-0.png
377
+ - docs/gen/mermaid/docs/executables/get_impacted_nodes.md-0.png
378
+ - docs/gen/mermaid/docs/executables/report.md-0.png
379
+ - docs/gen/mermaid/docs/executables/free_veids.md-0.png
380
+ - docs/gen/mermaid/docs/executables/ssh_config.md-0.png
381
+ - docs/api.md
382
+ - docs/tutorial/05_extend_with_plugins.md
383
+ - docs/tutorial/01_installation.md
384
+ - docs/tutorial/04_test.md
385
+ - docs/tutorial/03_scale.md
386
+ - docs/tutorial/02_first_node.md
387
+ - docs/config_dsl.md
388
+ - docs/tutorial.md
389
+ - examples/localhost/Gemfile
390
+ - examples/localhost/hpc_config.rb
391
+ - examples/localhost/inventory.yaml
392
+ - examples/bare/Gemfile
393
+ - examples/bare/hpc_config.rb
394
+ - examples/tutorial/02_first_node/my-platforms/Gemfile
395
+ - examples/tutorial/02_first_node/my-platforms/hpc_config.rb
396
+ - examples/tutorial/02_first_node/node/my-service.conf
397
+ - examples/tutorial/02_first_node/my-service-conf-repo/my-service.conf.erb
398
+ - examples/tutorial/02_first_node/my-service-conf-repo/service_my-service.rb
399
+ - examples/tutorial/02_first_node/my-service-conf-repo/inventory.yaml
400
+ - examples/tutorial/03_scale/my-platforms/Gemfile
401
+ - examples/tutorial/03_scale/my-platforms/hpc_config.rb
402
+ - examples/tutorial/03_scale/my-platforms/my_commands.bash
403
+ - examples/tutorial/03_scale/node/my-service.conf
404
+ - examples/tutorial/03_scale/web_docker_image/hpc_root.key
405
+ - examples/tutorial/03_scale/web_docker_image/main.go
406
+ - examples/tutorial/03_scale/web_docker_image/Dockerfile
407
+ - examples/tutorial/03_scale/web_docker_image/hello_world.txt
408
+ - examples/tutorial/03_scale/web_docker_image/hpc_root.key.pub
409
+ - examples/tutorial/03_scale/web_docker_image/test.bash
410
+ - examples/tutorial/03_scale/web_docker_image/start.sh
411
+ - examples/tutorial/03_scale/my-service-conf-repo/my-service.conf.erb
412
+ - examples/tutorial/03_scale/my-service-conf-repo/service_my-service.rb
413
+ - examples/tutorial/03_scale/my-service-conf-repo/inventory.yaml
414
+ - examples/tutorial/03_scale/my-service-conf-repo/service_web-hello.rb
415
+ - examples/tutorial/01_installation/my-platforms/Gemfile
416
+ - examples/tutorial/01_installation/my-platforms/hpc_config.rb
417
+ - examples/tutorial/04_test/my-platforms/Gemfile
418
+ - examples/tutorial/04_test/my-platforms/hpc_config.rb
419
+ - examples/tutorial/04_test/my-platforms/my_commands.bash
420
+ - examples/tutorial/04_test/my-platforms/images/debian_10/Dockerfile
421
+ - examples/tutorial/04_test/node/my-service.conf
422
+ - examples/tutorial/04_test/web_docker_image/hpc_root.key
423
+ - examples/tutorial/04_test/web_docker_image/main.go
424
+ - examples/tutorial/04_test/web_docker_image/Dockerfile
425
+ - examples/tutorial/04_test/web_docker_image/hello_world.txt
426
+ - examples/tutorial/04_test/web_docker_image/hpc_root.key.pub
427
+ - examples/tutorial/04_test/web_docker_image/test.bash
428
+ - examples/tutorial/04_test/web_docker_image/start.sh
429
+ - examples/tutorial/04_test/my-service-conf-repo/my-service.conf.erb
430
+ - examples/tutorial/04_test/my-service-conf-repo/service_my-service.rb
431
+ - examples/tutorial/04_test/my-service-conf-repo/inventory.yaml
432
+ - examples/tutorial/04_test/my-service-conf-repo/service_web-hello.rb
433
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/report/web_report.rb
434
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/test/root_space.rb
435
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/platform_handler/json_bash.rb
436
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/my_hpc_plugins.gemspec
437
+ - examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key
438
+ - examples/tutorial/05_extend_with_plugins/dev_docker_image/Dockerfile
439
+ - examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key.pub
440
+ - examples/tutorial/05_extend_with_plugins/my-platforms/Gemfile
441
+ - examples/tutorial/05_extend_with_plugins/my-platforms/hpc_config.rb
442
+ - examples/tutorial/05_extend_with_plugins/my-platforms/my_commands.bash
443
+ - examples/tutorial/05_extend_with_plugins/my-platforms/images/debian_10/Dockerfile
444
+ - examples/tutorial/05_extend_with_plugins/node/my-service.conf
445
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key
446
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/main.go
447
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/Dockerfile
448
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hello_world.txt
449
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key.pub
450
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/test.bash
451
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/start.sh
452
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/my-service.conf.erb
453
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_my-service.rb
454
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/inventory.yaml
455
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_web-hello.rb
456
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-gcc.bash
457
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/hosts.json
458
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-python.bash
300
459
  files:
460
+ - CHANGELOG.md
461
+ - LICENSE.md
462
+ - README.md
301
463
  - bin/check-node
302
464
  - bin/deploy
303
465
  - bin/dump_nodes_json
@@ -312,6 +474,162 @@ files:
312
474
  - bin/ssh_config
313
475
  - bin/test
314
476
  - bin/topograph
477
+ - docs/api.md
478
+ - docs/config_dsl.md
479
+ - docs/executables.md
480
+ - docs/executables/check-node.md
481
+ - docs/executables/deploy.md
482
+ - docs/executables/dump_nodes_json.md
483
+ - docs/executables/free_ips.md
484
+ - docs/executables/free_veids.md
485
+ - docs/executables/get_impacted_nodes.md
486
+ - docs/executables/last_deploys.md
487
+ - docs/executables/nodes_to_deploy.md
488
+ - docs/executables/report.md
489
+ - docs/executables/run.md
490
+ - docs/executables/setup.md
491
+ - docs/executables/ssh_config.md
492
+ - docs/executables/test.md
493
+ - docs/executables/topograph.md
494
+ - docs/gen/mermaid/README.md-0.png
495
+ - docs/gen/mermaid/docs/executables/check-node.md-0.png
496
+ - docs/gen/mermaid/docs/executables/deploy.md-0.png
497
+ - docs/gen/mermaid/docs/executables/free_ips.md-0.png
498
+ - docs/gen/mermaid/docs/executables/free_veids.md-0.png
499
+ - docs/gen/mermaid/docs/executables/get_impacted_nodes.md-0.png
500
+ - docs/gen/mermaid/docs/executables/last_deploys.md-0.png
501
+ - docs/gen/mermaid/docs/executables/nodes_to_deploy.md-0.png
502
+ - docs/gen/mermaid/docs/executables/report.md-0.png
503
+ - docs/gen/mermaid/docs/executables/run.md-0.png
504
+ - docs/gen/mermaid/docs/executables/setup.md-0.png
505
+ - docs/gen/mermaid/docs/executables/ssh_config.md-0.png
506
+ - docs/gen/mermaid/docs/executables/test.md-0.png
507
+ - docs/install.md
508
+ - docs/plugins.md
509
+ - docs/plugins/action/bash.md
510
+ - docs/plugins/action/interactive.md
511
+ - docs/plugins/action/remote_bash.md
512
+ - docs/plugins/action/ruby.md
513
+ - docs/plugins/action/scp.md
514
+ - docs/plugins/cmdb/config.md
515
+ - docs/plugins/cmdb/host_ip.md
516
+ - docs/plugins/cmdb/host_keys.md
517
+ - docs/plugins/cmdb/platform_handlers.md
518
+ - docs/plugins/connector/local.md
519
+ - docs/plugins/connector/ssh.md
520
+ - docs/plugins/platform_handler/yaml_inventory.md
521
+ - docs/plugins/provisioner/docker.md
522
+ - docs/plugins/provisioner/podman.md
523
+ - docs/plugins/provisioner/proxmox.md
524
+ - docs/plugins/report/confluence.md
525
+ - docs/plugins/report/mediawiki.md
526
+ - docs/plugins/report/stdout.md
527
+ - docs/plugins/test/bitbucket_conf.md
528
+ - docs/plugins/test/can_be_checked.md
529
+ - docs/plugins/test/check_deploy_and_idempotence.md
530
+ - docs/plugins/test/check_from_scratch.md
531
+ - docs/plugins/test/connection.md
532
+ - docs/plugins/test/deploy_freshness.md
533
+ - docs/plugins/test/deploy_from_scratch.md
534
+ - docs/plugins/test/deploy_removes_root_access.md
535
+ - docs/plugins/test/divergence.md
536
+ - docs/plugins/test/executables.md
537
+ - docs/plugins/test/file_system.md
538
+ - docs/plugins/test/file_system_hdfs.md
539
+ - docs/plugins/test/hostname.md
540
+ - docs/plugins/test/idempotence.md
541
+ - docs/plugins/test/ip.md
542
+ - docs/plugins/test/jenkins_ci_conf.md
543
+ - docs/plugins/test/jenkins_ci_masters_ok.md
544
+ - docs/plugins/test/linear_strategy.md
545
+ - docs/plugins/test/local_users.md
546
+ - docs/plugins/test/mounts.md
547
+ - docs/plugins/test/orphan_files.md
548
+ - docs/plugins/test/ports.md
549
+ - docs/plugins/test/private_ips.md
550
+ - docs/plugins/test/public_ips.md
551
+ - docs/plugins/test/spectre.md
552
+ - docs/plugins/test/veids.md
553
+ - docs/plugins/test/vulnerabilities.md
554
+ - docs/plugins/test_report/confluence.md
555
+ - docs/plugins/test_report/stdout.md
556
+ - docs/plugins_create.md
557
+ - docs/tutorial.md
558
+ - docs/tutorial/01_installation.md
559
+ - docs/tutorial/02_first_node.md
560
+ - docs/tutorial/03_scale.md
561
+ - docs/tutorial/04_test.md
562
+ - docs/tutorial/05_extend_with_plugins.md
563
+ - examples/bare/Gemfile
564
+ - examples/bare/hpc_config.rb
565
+ - examples/localhost/Gemfile
566
+ - examples/localhost/hpc_config.rb
567
+ - examples/localhost/inventory.yaml
568
+ - examples/tutorial/01_installation/my-platforms/Gemfile
569
+ - examples/tutorial/01_installation/my-platforms/hpc_config.rb
570
+ - examples/tutorial/02_first_node/my-platforms/Gemfile
571
+ - examples/tutorial/02_first_node/my-platforms/hpc_config.rb
572
+ - examples/tutorial/02_first_node/my-service-conf-repo/inventory.yaml
573
+ - examples/tutorial/02_first_node/my-service-conf-repo/my-service.conf.erb
574
+ - examples/tutorial/02_first_node/my-service-conf-repo/service_my-service.rb
575
+ - examples/tutorial/02_first_node/node/my-service.conf
576
+ - examples/tutorial/03_scale/my-platforms/Gemfile
577
+ - examples/tutorial/03_scale/my-platforms/hpc_config.rb
578
+ - examples/tutorial/03_scale/my-platforms/my_commands.bash
579
+ - examples/tutorial/03_scale/my-service-conf-repo/inventory.yaml
580
+ - examples/tutorial/03_scale/my-service-conf-repo/my-service.conf.erb
581
+ - examples/tutorial/03_scale/my-service-conf-repo/service_my-service.rb
582
+ - examples/tutorial/03_scale/my-service-conf-repo/service_web-hello.rb
583
+ - examples/tutorial/03_scale/node/my-service.conf
584
+ - examples/tutorial/03_scale/web_docker_image/Dockerfile
585
+ - examples/tutorial/03_scale/web_docker_image/hello_world.txt
586
+ - examples/tutorial/03_scale/web_docker_image/hpc_root.key
587
+ - examples/tutorial/03_scale/web_docker_image/hpc_root.key.pub
588
+ - examples/tutorial/03_scale/web_docker_image/main.go
589
+ - examples/tutorial/03_scale/web_docker_image/start.sh
590
+ - examples/tutorial/03_scale/web_docker_image/test.bash
591
+ - examples/tutorial/04_test/my-platforms/Gemfile
592
+ - examples/tutorial/04_test/my-platforms/hpc_config.rb
593
+ - examples/tutorial/04_test/my-platforms/images/debian_10/Dockerfile
594
+ - examples/tutorial/04_test/my-platforms/my_commands.bash
595
+ - examples/tutorial/04_test/my-service-conf-repo/inventory.yaml
596
+ - examples/tutorial/04_test/my-service-conf-repo/my-service.conf.erb
597
+ - examples/tutorial/04_test/my-service-conf-repo/service_my-service.rb
598
+ - examples/tutorial/04_test/my-service-conf-repo/service_web-hello.rb
599
+ - examples/tutorial/04_test/node/my-service.conf
600
+ - examples/tutorial/04_test/web_docker_image/Dockerfile
601
+ - examples/tutorial/04_test/web_docker_image/hello_world.txt
602
+ - examples/tutorial/04_test/web_docker_image/hpc_root.key
603
+ - examples/tutorial/04_test/web_docker_image/hpc_root.key.pub
604
+ - examples/tutorial/04_test/web_docker_image/main.go
605
+ - examples/tutorial/04_test/web_docker_image/start.sh
606
+ - examples/tutorial/04_test/web_docker_image/test.bash
607
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/hosts.json
608
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-gcc.bash
609
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-python.bash
610
+ - examples/tutorial/05_extend_with_plugins/dev_docker_image/Dockerfile
611
+ - examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key
612
+ - examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key.pub
613
+ - examples/tutorial/05_extend_with_plugins/my-platforms/Gemfile
614
+ - examples/tutorial/05_extend_with_plugins/my-platforms/hpc_config.rb
615
+ - examples/tutorial/05_extend_with_plugins/my-platforms/images/debian_10/Dockerfile
616
+ - examples/tutorial/05_extend_with_plugins/my-platforms/my_commands.bash
617
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/inventory.yaml
618
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/my-service.conf.erb
619
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_my-service.rb
620
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_web-hello.rb
621
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/platform_handler/json_bash.rb
622
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/report/web_report.rb
623
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/test/root_space.rb
624
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/my_hpc_plugins.gemspec
625
+ - examples/tutorial/05_extend_with_plugins/node/my-service.conf
626
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/Dockerfile
627
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hello_world.txt
628
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key
629
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key.pub
630
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/main.go
631
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/start.sh
632
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/test.bash
315
633
  - lib/hybrid_platforms_conductor/action.rb
316
634
  - lib/hybrid_platforms_conductor/actions_executor.rb
317
635
  - lib/hybrid_platforms_conductor/bitbucket.rb
@@ -339,9 +657,11 @@ files:
339
657
  - lib/hybrid_platforms_conductor/hpc_plugins/cmdb/host_keys.rb
340
658
  - lib/hybrid_platforms_conductor/hpc_plugins/cmdb/my_cmdb.rb.sample
341
659
  - lib/hybrid_platforms_conductor/hpc_plugins/cmdb/platform_handlers.rb
660
+ - lib/hybrid_platforms_conductor/hpc_plugins/connector/local.rb
342
661
  - lib/hybrid_platforms_conductor/hpc_plugins/connector/my_connector.rb.sample
343
662
  - lib/hybrid_platforms_conductor/hpc_plugins/connector/ssh.rb
344
663
  - lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/platform_handler_plugin.rb.sample
664
+ - lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/yaml_inventory.rb
345
665
  - lib/hybrid_platforms_conductor/hpc_plugins/provisioner/docker.rb
346
666
  - lib/hybrid_platforms_conductor/hpc_plugins/provisioner/my_provisioner.rb.sample
347
667
  - lib/hybrid_platforms_conductor/hpc_plugins/provisioner/podman.rb
@@ -422,6 +742,8 @@ files:
422
742
  - spec/hybrid_platforms_conductor_test/api/actions_executor/actions/scp_spec.rb
423
743
  - spec/hybrid_platforms_conductor_test/api/actions_executor/actions_spec.rb
424
744
  - spec/hybrid_platforms_conductor_test/api/actions_executor/connection_spec.rb
745
+ - spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/local/connectable_nodes_spec.rb
746
+ - spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/local/remote_actions_spec.rb
425
747
  - spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/cli_options_spec.rb
426
748
  - spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/config_dsl_spec.rb
427
749
  - spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/connectable_nodes_spec.rb
@@ -491,6 +813,7 @@ files:
491
813
  - spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb2.rb
492
814
  - spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb_others.rb
493
815
  - spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb_others2.rb
816
+ - spec/hybrid_platforms_conductor_test/docs_spec.rb
494
817
  - spec/hybrid_platforms_conductor_test/executables/check-node_spec.rb
495
818
  - spec/hybrid_platforms_conductor_test/executables/deploy_spec.rb
496
819
  - spec/hybrid_platforms_conductor_test/executables/get_impacted_nodes_spec.rb
@@ -542,6 +865,8 @@ files:
542
865
  - spec/hybrid_platforms_conductor_test/test_provisioner.rb
543
866
  - spec/hybrid_platforms_conductor_test/tests_report_plugin.rb
544
867
  - spec/spec_helper.rb
868
+ - tools/check_md
869
+ - tools/generate_mermaid
545
870
  homepage:
546
871
  licenses:
547
872
  - BSD-3-Clause
@@ -561,7 +886,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
561
886
  - !ruby/object:Gem::Version
562
887
  version: '0'
563
888
  requirements: []
564
- rubygems_version: 3.1.4
889
+ rubygems_version: 3.1.6
565
890
  signing_key:
566
891
  specification_version: 4
567
892
  summary: Hybrid Platforms Conductor