hybrid_platforms_conductor 33.7.3 → 33.8.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6eb048c4791dd3f4bb8263991c55a075de8d3c1b4458fb0b45469f3cefbb7eb
4
- data.tar.gz: 9d22df654d620efaead05daebdb41bc00d67614d6e62771dc7fd92989731fd87
3
+ metadata.gz: d6e2a5efb5f9513378cc635387663c365ef3746c5e3adf70c9f8af24d9e00685
4
+ data.tar.gz: aeba22f701dcc095951b1575cc33e05ecd12022b7d8a8c4e558ee6189874d97f
5
5
  SHA512:
6
- metadata.gz: 8b1724ac79d6bacf3215e30872571f2f3ea8a35b980a20dd3b3da3ecd602c0147319801308855e0b054ef921c8b54c17a3d246b84a1cdb16298985c0cd082fae
7
- data.tar.gz: 72e45917b5992a610cdd6d2e95d2c4690c06b94640edf0e742ae12e8fd68ece86d9cbbb16866faa6baf40ebece26a1a8fde6a44cfc3615a71db133a74154b6b3
6
+ metadata.gz: '096a224a0337aacb13a20b4113b008ffc62913db6a0207016ebf1fb31660dce248284f5fd2cd1fcb5147de086701cf1a5e63b7604519feaf8cbe230dca8066f0'
7
+ data.tar.gz: fb1dc0a69c3bc5b0f7b2bbb056f4abd068fbb3261efe6b249c2be908d6b5556fa9b13d1a508fa3fb2b2513794e995892d9b4c256fc2ed93064eab4395b378819
data/CHANGELOG.md CHANGED
@@ -1,3 +1,45 @@
1
+ # [v33.8.2](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v33.8.1...v33.8.2) (2021-08-14 21:12:19)
2
+
3
+ ## Global changes
4
+ ### Patches
5
+
6
+ * [[Fix(test_github_ci)] [#95] Make sure the github_ci test does not fail when a repository has no workflow run](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/e805c5b2d7e391c3c5205996fd56dadc14ddec7f)
7
+
8
+ ## Changes for test_github_ci
9
+ ### Patches
10
+
11
+ * [[Fix(test_github_ci)] [#95] Make sure the github_ci test does not fail when a repository has no workflow run](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/e805c5b2d7e391c3c5205996fd56dadc14ddec7f)
12
+
13
+ # [v33.8.1](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v33.8.0...v33.8.1) (2021-08-05 17:11:39)
14
+
15
+ ### Patches
16
+
17
+ * [[Hotfix] Added test checking that test keys are not deployed in production for security](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/f2e5bcc59b595592bf0a2b4f63c92966f10902ef)
18
+
19
+ # [v33.8.0](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v33.7.4...v33.8.0) (2021-08-04 15:55:54)
20
+
21
+ ## Global changes
22
+ ### Patches
23
+
24
+ * [[Feature(platform_handler_serverless_chef)] Integrate testadmin public key while deploying in local mode](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/6083463bf3bc760c393b786515db59af89315333)
25
+
26
+ ## Changes for platform_handler_serverless_chef
27
+ ### Features
28
+
29
+ * [[Feature(platform_handler_serverless_chef)] Integrate testadmin public key while deploying in local mode](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/6083463bf3bc760c393b786515db59af89315333)
30
+
31
+ # [v33.7.4](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v33.7.3...v33.7.4) (2021-08-04 14:21:08)
32
+
33
+ ## Global changes
34
+ ### Patches
35
+
36
+ * [[Bugfix(platform_handler_serverless_chef)] Corrected clean-up of deployment directory on nodes](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/0fdfe17f7c08da089881bc48fcd9cb1b487a95a2)
37
+
38
+ ## Changes for platform_handler_serverless_chef
39
+ ### Patches
40
+
41
+ * [[Bugfix(platform_handler_serverless_chef)] Corrected clean-up of deployment directory on nodes](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/0fdfe17f7c08da089881bc48fcd9cb1b487a95a2)
42
+
1
43
  # [v33.7.3](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v33.7.2...v33.7.3) (2021-07-16 12:05:04)
2
44
 
3
45
  ### Patches
@@ -138,22 +138,23 @@ module HybridPlatformsConductor
138
138
  value = Regexp.last_match(2)
139
139
  key = key_str.to_sym
140
140
  # Type-cast some values
141
- case key_str
142
- when 'date'
143
- # Date and time values
144
- # Thu Nov 23 18:43:01 UTC 2017
145
- deploy_info[key] = Time.parse("#{value} UTC")
146
- when 'debug'
147
- # Boolean values
148
- # Yes
149
- deploy_info[key] = (value == 'Yes')
150
- when /^diff_files_.+$/, 'services'
151
- # Array of strings
152
- # my_file.txt, other_file.txt
153
- deploy_info[key] = value.split(', ')
154
- else
155
- deploy_info[key] = value
156
- end
141
+ deploy_info[key] =
142
+ case key_str
143
+ when 'date'
144
+ # Date and time values
145
+ # Thu Nov 23 18:43:01 UTC 2017
146
+ Time.parse("#{value} UTC")
147
+ when 'debug'
148
+ # Boolean values
149
+ # Yes
150
+ value == 'Yes'
151
+ when /^diff_files_.+$/, 'services'
152
+ # Array of strings
153
+ # my_file.txt, other_file.txt
154
+ value.split(', ')
155
+ else
156
+ value
157
+ end
157
158
  else
158
159
  deploy_info[:unknown_lines] = [] unless deploy_info.key?(:unknown_lines)
159
160
  deploy_info[:unknown_lines] << line
@@ -190,6 +190,15 @@ module HybridPlatformsConductor
190
190
  secrets_file = "#{@repository_path}/#{package_dir}/data_bags/hpc_secrets/hpc_secrets.json"
191
191
  FileUtils.mkdir_p(File.dirname(secrets_file))
192
192
  File.write(secrets_file, secrets.merge(id: 'hpc_secrets').to_json)
193
+ # Make the testadmin public key available for deployment for hpc_test cookbook
194
+ testadmin_pub_key = "#{@config.hybrid_platforms_dir}/testadmin.key.pub"
195
+ if local_environment && File.exist?(testadmin_pub_key)
196
+ Dir.glob("#{@repository_path}/#{package_dir}/cookbook_artifacts/hpc_test-*") do |hpc_test_cookbook_path|
197
+ hpc_test_files_dir = "#{hpc_test_cookbook_path}/files/default"
198
+ FileUtils.mkdir_p hpc_test_files_dir
199
+ FileUtils.cp(testadmin_pub_key, "#{hpc_test_files_dir}/testadmin.key.pub")
200
+ end
201
+ end
193
202
  # Remember the package info
194
203
  File.write(package_info_file, package_info.to_json)
195
204
  end
@@ -296,7 +305,7 @@ module HybridPlatformsConductor
296
305
  gems_to_install.map { |(gem_name, gem_version)| "#{sudo}/opt/chef/embedded/bin/gem install #{gem_name} --version \"#{gem_version}\"" } +
297
306
  [
298
307
  "#{sudo}unbuffer /opt/chef/bin/chef-client #{client_options.join(' ')}",
299
- 'cd ..'
308
+ 'cd -'
300
309
  ] +
301
310
  (log_debug? ? [] : ["#{sudo}rm -rf ./hpc_deploy/#{package_name}"]),
302
311
  env: client_env
@@ -18,10 +18,15 @@ module HybridPlatformsConductor
18
18
  def test
19
19
  for_each_github_repo do |client, repo_info|
20
20
  log_debug "Checking CI for Github repository #{repo_info[:slug]}"
21
- last_status = client.repository_workflow_runs(repo_info[:slug])[:workflow_runs].
21
+ last_run = client.repository_workflow_runs(repo_info[:slug])[:workflow_runs].
22
22
  select { |run| run[:head_branch] == 'master' }.
23
- max_by { |run| run[:created_at] }[:conclusion]
24
- error "Last workflow status for repository #{repo_info[:slug]} is #{last_status}" unless last_status == 'success'
23
+ max_by { |run| run[:created_at] }
24
+ if last_run.nil?
25
+ error "No workflow run found for repository #{repo_info[:slug]}"
26
+ else
27
+ last_status = last_run[:conclusion]
28
+ error "Last workflow status for repository #{repo_info[:slug]} is #{last_status}" unless last_status == 'success'
29
+ end
25
30
  end
26
31
  end
27
32
 
@@ -1,5 +1,5 @@
1
1
  module HybridPlatformsConductor
2
2
 
3
- VERSION = '33.7.3'
3
+ VERSION = '33.8.2'
4
4
 
5
5
  end
@@ -51,6 +51,7 @@ describe HybridPlatformsConductor::HpcPlugins::PlatformHandler::ServerlessChef d
51
51
  [
52
52
  %r{^cd #{Regexp.escape(repository)} &&\s+sudo rm -rf dist/#{Regexp.escape(env)}/#{Regexp.escape(policy)} &&\s+/opt/chef-workstation/bin/chef export #{Regexp.escape(policy_file)} dist/#{Regexp.escape(env)}/#{Regexp.escape(policy)} --chef-license accept#{data_bags ? " && cp -ar data_bags/ dist/#{Regexp.escape(env)}/#{Regexp.escape(policy)}/" : ''}$},
53
53
  proc do
54
+ # Mock the packaging in the dist directory
54
55
  package_dir = "#{repository}/dist/#{env}/#{policy}"
55
56
  FileUtils.mkdir_p package_dir
56
57
  FileUtils.cp_r("#{repository}/data_bags", "#{package_dir}/") if data_bags
@@ -329,6 +330,40 @@ describe HybridPlatformsConductor::HpcPlugins::PlatformHandler::ServerlessChef d
329
330
  end
330
331
  end
331
332
 
333
+ it 'packages the repository with a testadmin public key in local mode' do
334
+ with_serverless_chef_platforms('hpc_test') do |platform, repository|
335
+ File.write("#{ENV['hpc_platforms']}/testadmin.key.pub", 'ssh-rsa 12345 testadmin@test.com')
336
+ with_packaging_mocked(
337
+ repository,
338
+ policy_file: 'policyfiles/test_policy.local.rb',
339
+ env: 'local',
340
+ cookbook_metadata: {
341
+ 'hpc_test-1234' => {}
342
+ }
343
+ ) do
344
+ platform.package(services: { 'node' => %w[test_policy] }, secrets: {}, local_environment: true)
345
+ testadmin_key_pub = Dir.glob("#{repository}/dist/local/test_policy/cookbook_artifacts/hpc_test-*/files/default/testadmin.key.pub").first
346
+ expect(testadmin_key_pub).not_to eq nil
347
+ expect(File.read(testadmin_key_pub)).to eq 'ssh-rsa 12345 testadmin@test.com'
348
+ end
349
+ end
350
+ end
351
+
352
+ it 'does not package the repository with a testadmin public key in prod mode' do
353
+ with_serverless_chef_platforms('hpc_test') do |platform, repository|
354
+ File.write("#{ENV['hpc_platforms']}/testadmin.key.pub", 'ssh-rsa 12345 testadmin@test.com')
355
+ with_packaging_mocked(
356
+ repository,
357
+ cookbook_metadata: {
358
+ 'hpc_test-1234' => {}
359
+ }
360
+ ) do
361
+ platform.package(services: { 'node' => %w[test_policy] }, secrets: {}, local_environment: false)
362
+ expect(Dir.glob("#{repository}/dist/prod/test_policy/cookbook_artifacts/hpc_test-*/files/default/testadmin.key.pub")).to eq []
363
+ end
364
+ end
365
+ end
366
+
332
367
  end
333
368
 
334
369
  end
@@ -65,7 +65,7 @@ describe HybridPlatformsConductor::HpcPlugins::PlatformHandler::ServerlessChef d
65
65
  gems_install_cmds.map { |gem_install_cmd| "#{sudo}/opt/chef/embedded/bin/#{gem_install_cmd}" } +
66
66
  [
67
67
  "#{sudo}unbuffer /opt/chef/bin/chef-client --local-mode --chef-license accept --json-attributes nodes/#{node}.json#{check_mode ? ' --why-run' : ''}",
68
- 'cd ..',
68
+ 'cd -',
69
69
  "#{sudo}rm -rf ./hpc_deploy/#{policy}"
70
70
  ],
71
71
  env: {
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: 33.7.3
4
+ version: 33.8.2
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-07-16 00:00:00.000000000 Z
11
+ date: 2021-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: range_operators
@@ -365,187 +365,187 @@ description: Provides a complete toolset to help DevOps maintain, deploy, monito
365
365
  email:
366
366
  - muriel@x-aeon.com
367
367
  executables:
368
- - dump_nodes_json
369
368
  - setup
370
- - ssh_config
371
369
  - report
370
+ - get_impacted_nodes
372
371
  - last_deploys
373
- - nodes_to_deploy
374
372
  - topograph
373
+ - dump_nodes_json
374
+ - free_ips
375
+ - ssh_config
376
+ - deploy
375
377
  - run
376
- - get_impacted_nodes
378
+ - test
379
+ - nodes_to_deploy
377
380
  - check-node
378
381
  - free_veids
379
- - deploy
380
- - test
381
- - free_ips
382
382
  extensions: []
383
383
  extra_rdoc_files:
384
+ - CHANGELOG.md
384
385
  - README.md
385
386
  - LICENSE.md
386
- - CHANGELOG.md
387
- - docs/tutorial.md
388
- - docs/plugins.md
389
- - docs/install.md
390
- - docs/tutorial/01_installation.md
391
- - docs/tutorial/03_scale.md
392
- - docs/tutorial/02_first_node.md
393
- - docs/tutorial/04_test.md
394
- - docs/tutorial/05_extend_with_plugins.md
395
- - docs/executables/deploy.md
396
- - docs/executables/get_impacted_nodes.md
397
- - docs/executables/ssh_config.md
398
- - docs/executables/last_deploys.md
399
- - docs/executables/setup.md
400
- - docs/executables/check-node.md
401
- - docs/executables/report.md
402
- - docs/executables/run.md
403
- - docs/executables/topograph.md
404
- - docs/executables/free_ips.md
405
- - docs/executables/test.md
406
- - docs/executables/dump_nodes_json.md
407
- - docs/executables/free_veids.md
408
- - docs/executables/nodes_to_deploy.md
409
- - docs/api.md
410
- - docs/plugins_create.md
411
- - docs/plugins/cmdb/host_ip.md
412
- - docs/plugins/cmdb/host_keys.md
413
- - docs/plugins/cmdb/config.md
414
- - docs/plugins/cmdb/platform_handlers.md
387
+ - docs/plugins/connector/local.md
388
+ - docs/plugins/connector/ssh.md
415
389
  - docs/plugins/report/confluence.md
416
390
  - docs/plugins/report/mediawiki.md
417
391
  - docs/plugins/report/stdout.md
418
- - docs/plugins/secrets_reader/thycotic.md
419
- - docs/plugins/secrets_reader/cli.md
420
- - docs/plugins/secrets_reader/keepass.md
392
+ - docs/plugins/log/remote_fs.md
393
+ - docs/plugins/provisioner/proxmox.md
421
394
  - docs/plugins/provisioner/docker.md
422
395
  - docs/plugins/provisioner/podman.md
423
- - docs/plugins/provisioner/proxmox.md
424
- - docs/plugins/action/ruby.md
425
- - docs/plugins/action/interactive.md
426
- - docs/plugins/action/remote_bash.md
427
- - docs/plugins/action/bash.md
428
- - docs/plugins/action/scp.md
429
- - docs/plugins/log/remote_fs.md
430
- - docs/plugins/platform_handler/serverless_chef.md
396
+ - docs/plugins/secrets_reader/keepass.md
397
+ - docs/plugins/secrets_reader/thycotic.md
398
+ - docs/plugins/secrets_reader/cli.md
431
399
  - docs/plugins/platform_handler/yaml_inventory.md
432
- - docs/plugins/test/mounts.md
433
- - docs/plugins/test/file_system.md
434
- - docs/plugins/test/jenkins_ci_masters_ok.md
400
+ - docs/plugins/platform_handler/serverless_chef.md
401
+ - docs/plugins/test_report/confluence.md
402
+ - docs/plugins/test_report/stdout.md
403
+ - docs/plugins/cmdb/host_ip.md
404
+ - docs/plugins/cmdb/config.md
405
+ - docs/plugins/cmdb/host_keys.md
406
+ - docs/plugins/cmdb/platform_handlers.md
407
+ - docs/plugins/test/vulnerabilities.md
408
+ - docs/plugins/test/hostname.md
409
+ - docs/plugins/test/bitbucket_conf.md
435
410
  - docs/plugins/test/check_from_scratch.md
436
- - docs/plugins/test/connection.md
437
- - docs/plugins/test/local_users.md
438
- - docs/plugins/test/check_deploy_and_idempotence.md
411
+ - docs/plugins/test/file_system.md
439
412
  - docs/plugins/test/ip.md
440
- - docs/plugins/test/public_ips.md
441
- - docs/plugins/test/can_be_checked.md
442
- - docs/plugins/test/file_system_hdfs.md
413
+ - docs/plugins/test/connection.md
414
+ - docs/plugins/test/ports.md
415
+ - docs/plugins/test/spectre.md
416
+ - docs/plugins/test/veids.md
417
+ - docs/plugins/test/jenkins_ci_conf.md
443
418
  - docs/plugins/test/private_ips.md
444
- - docs/plugins/test/deploy_removes_root_access.md
445
- - docs/plugins/test/bitbucket_conf.md
446
- - docs/plugins/test/deploy_freshness.md
447
- - docs/plugins/test/vulnerabilities.md
448
- - docs/plugins/test/hostname.md
449
419
  - docs/plugins/test/orphan_files.md
450
- - docs/plugins/test/deploy_from_scratch.md
451
- - docs/plugins/test/jenkins_ci_conf.md
452
- - docs/plugins/test/spectre.md
420
+ - docs/plugins/test/file_system_hdfs.md
421
+ - docs/plugins/test/public_ips.md
453
422
  - docs/plugins/test/github_ci.md
454
- - docs/plugins/test/divergence.md
423
+ - docs/plugins/test/mounts.md
424
+ - docs/plugins/test/check_deploy_and_idempotence.md
425
+ - docs/plugins/test/deploy_freshness.md
455
426
  - docs/plugins/test/idempotence.md
456
- - docs/plugins/test/veids.md
457
- - docs/plugins/test/ports.md
427
+ - docs/plugins/test/local_users.md
428
+ - docs/plugins/test/jenkins_ci_masters_ok.md
429
+ - docs/plugins/test/can_be_checked.md
430
+ - docs/plugins/test/deploy_removes_root_access.md
458
431
  - docs/plugins/test/executables.md
459
432
  - docs/plugins/test/linear_strategy.md
460
- - docs/plugins/connector/local.md
461
- - docs/plugins/connector/ssh.md
462
- - docs/plugins/test_report/confluence.md
463
- - docs/plugins/test_report/stdout.md
433
+ - docs/plugins/test/deploy_from_scratch.md
434
+ - docs/plugins/test/divergence.md
435
+ - docs/plugins/action/interactive.md
436
+ - docs/plugins/action/scp.md
437
+ - docs/plugins/action/bash.md
438
+ - docs/plugins/action/ruby.md
439
+ - docs/plugins/action/remote_bash.md
464
440
  - docs/gen/mermaid/README.md-0.png
465
441
  - docs/gen/mermaid/docs/executables/run.md-0.png
466
- - docs/gen/mermaid/docs/executables/free_veids.md-0.png
442
+ - docs/gen/mermaid/docs/executables/free_ips.md-0.png
443
+ - docs/gen/mermaid/docs/executables/report.md-0.png
444
+ - docs/gen/mermaid/docs/executables/test.md-0.png
467
445
  - docs/gen/mermaid/docs/executables/ssh_config.md-0.png
446
+ - docs/gen/mermaid/docs/executables/setup.md-0.png
447
+ - docs/gen/mermaid/docs/executables/deploy.md-0.png
468
448
  - docs/gen/mermaid/docs/executables/check-node.md-0.png
469
449
  - docs/gen/mermaid/docs/executables/get_impacted_nodes.md-0.png
470
450
  - docs/gen/mermaid/docs/executables/last_deploys.md-0.png
471
- - docs/gen/mermaid/docs/executables/setup.md-0.png
472
451
  - docs/gen/mermaid/docs/executables/nodes_to_deploy.md-0.png
473
- - docs/gen/mermaid/docs/executables/deploy.md-0.png
474
- - docs/gen/mermaid/docs/executables/report.md-0.png
475
- - docs/gen/mermaid/docs/executables/test.md-0.png
476
- - docs/gen/mermaid/docs/executables/free_ips.md-0.png
452
+ - docs/gen/mermaid/docs/executables/free_veids.md-0.png
453
+ - docs/tutorial/03_scale.md
454
+ - docs/tutorial/04_test.md
455
+ - docs/tutorial/01_installation.md
456
+ - docs/tutorial/05_extend_with_plugins.md
457
+ - docs/tutorial/02_first_node.md
458
+ - docs/install.md
459
+ - docs/api.md
460
+ - docs/tutorial.md
461
+ - docs/executables/ssh_config.md
462
+ - docs/executables/topograph.md
463
+ - docs/executables/setup.md
464
+ - docs/executables/deploy.md
465
+ - docs/executables/test.md
466
+ - docs/executables/last_deploys.md
467
+ - docs/executables/free_ips.md
468
+ - docs/executables/report.md
469
+ - docs/executables/check-node.md
470
+ - docs/executables/run.md
471
+ - docs/executables/get_impacted_nodes.md
472
+ - docs/executables/dump_nodes_json.md
473
+ - docs/executables/free_veids.md
474
+ - docs/executables/nodes_to_deploy.md
477
475
  - docs/config_dsl.md
478
476
  - docs/executables.md
479
- - examples/bare/hpc_config.rb
480
- - examples/bare/Gemfile
481
- - examples/tutorial/02_first_node/node/my-service.conf
482
- - examples/tutorial/02_first_node/my-service-conf-repo/service_my-service.rb
483
- - examples/tutorial/02_first_node/my-service-conf-repo/my-service.conf.erb
484
- - examples/tutorial/02_first_node/my-service-conf-repo/inventory.yaml
485
- - examples/tutorial/02_first_node/my-platforms/hpc_config.rb
486
- - examples/tutorial/02_first_node/my-platforms/Gemfile
487
- - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/hosts.json
488
- - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-gcc.bash
489
- - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-python.bash
477
+ - docs/plugins_create.md
478
+ - docs/plugins.md
479
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/my_hpc_plugins.gemspec
480
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/report/web_report.rb
481
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/platform_handler/json_bash.rb
482
+ - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/test/root_space.rb
483
+ - examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key
490
484
  - examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key.pub
491
485
  - examples/tutorial/05_extend_with_plugins/dev_docker_image/Dockerfile
492
- - examples/tutorial/05_extend_with_plugins/dev_docker_image/hpc_root.key
486
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-gcc.bash
487
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/install-python.bash
488
+ - examples/tutorial/05_extend_with_plugins/dev-servers-conf-repo/hosts.json
493
489
  - examples/tutorial/05_extend_with_plugins/node/my-service.conf
494
- - examples/tutorial/05_extend_with_plugins/web_docker_image/hello_world.txt
495
- - examples/tutorial/05_extend_with_plugins/web_docker_image/start.sh
496
- - examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key.pub
497
- - examples/tutorial/05_extend_with_plugins/web_docker_image/main.go
498
- - examples/tutorial/05_extend_with_plugins/web_docker_image/test.bash
499
- - examples/tutorial/05_extend_with_plugins/web_docker_image/Dockerfile
500
- - examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key
501
- - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_my-service.rb
502
490
  - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/my-service.conf.erb
503
- - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/inventory.yaml
491
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_my-service.rb
504
492
  - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/service_web-hello.rb
505
- - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/my_hpc_plugins.gemspec
506
- - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/report/web_report.rb
507
- - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/platform_handler/json_bash.rb
508
- - examples/tutorial/05_extend_with_plugins/my_hpc_plugins/lib/my_hpc_plugins/hpc_plugins/test/root_space.rb
509
- - examples/tutorial/05_extend_with_plugins/my-platforms/hpc_config.rb
510
- - examples/tutorial/05_extend_with_plugins/my-platforms/images/debian_10/Dockerfile
493
+ - examples/tutorial/05_extend_with_plugins/my-service-conf-repo/inventory.yaml
511
494
  - examples/tutorial/05_extend_with_plugins/my-platforms/Gemfile
512
495
  - examples/tutorial/05_extend_with_plugins/my-platforms/my_commands.bash
513
- - examples/tutorial/01_installation/my-platforms/hpc_config.rb
496
+ - examples/tutorial/05_extend_with_plugins/my-platforms/images/debian_10/Dockerfile
497
+ - examples/tutorial/05_extend_with_plugins/my-platforms/hpc_config.rb
498
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key
499
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/start.sh
500
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hpc_root.key.pub
501
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/Dockerfile
502
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/hello_world.txt
503
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/test.bash
504
+ - examples/tutorial/05_extend_with_plugins/web_docker_image/main.go
505
+ - examples/tutorial/02_first_node/node/my-service.conf
506
+ - examples/tutorial/02_first_node/my-service-conf-repo/my-service.conf.erb
507
+ - examples/tutorial/02_first_node/my-service-conf-repo/service_my-service.rb
508
+ - examples/tutorial/02_first_node/my-service-conf-repo/inventory.yaml
509
+ - examples/tutorial/02_first_node/my-platforms/Gemfile
510
+ - examples/tutorial/02_first_node/my-platforms/hpc_config.rb
514
511
  - examples/tutorial/01_installation/my-platforms/Gemfile
515
- - examples/tutorial/03_scale/node/my-service.conf
516
- - examples/tutorial/03_scale/web_docker_image/hello_world.txt
517
- - examples/tutorial/03_scale/web_docker_image/start.sh
518
- - examples/tutorial/03_scale/web_docker_image/hpc_root.key.pub
519
- - examples/tutorial/03_scale/web_docker_image/main.go
520
- - examples/tutorial/03_scale/web_docker_image/test.bash
521
- - examples/tutorial/03_scale/web_docker_image/Dockerfile
522
- - examples/tutorial/03_scale/web_docker_image/hpc_root.key
523
- - examples/tutorial/03_scale/my-service-conf-repo/service_my-service.rb
524
- - examples/tutorial/03_scale/my-service-conf-repo/my-service.conf.erb
525
- - examples/tutorial/03_scale/my-service-conf-repo/inventory.yaml
526
- - examples/tutorial/03_scale/my-service-conf-repo/service_web-hello.rb
527
- - examples/tutorial/03_scale/my-platforms/hpc_config.rb
528
- - examples/tutorial/03_scale/my-platforms/Gemfile
529
- - examples/tutorial/03_scale/my-platforms/my_commands.bash
512
+ - examples/tutorial/01_installation/my-platforms/hpc_config.rb
530
513
  - examples/tutorial/04_test/node/my-service.conf
531
- - examples/tutorial/04_test/web_docker_image/hello_world.txt
532
- - examples/tutorial/04_test/web_docker_image/start.sh
533
- - examples/tutorial/04_test/web_docker_image/hpc_root.key.pub
534
- - examples/tutorial/04_test/web_docker_image/main.go
535
- - examples/tutorial/04_test/web_docker_image/test.bash
536
- - examples/tutorial/04_test/web_docker_image/Dockerfile
537
- - examples/tutorial/04_test/web_docker_image/hpc_root.key
538
- - examples/tutorial/04_test/my-service-conf-repo/service_my-service.rb
539
514
  - examples/tutorial/04_test/my-service-conf-repo/my-service.conf.erb
540
- - examples/tutorial/04_test/my-service-conf-repo/inventory.yaml
515
+ - examples/tutorial/04_test/my-service-conf-repo/service_my-service.rb
541
516
  - examples/tutorial/04_test/my-service-conf-repo/service_web-hello.rb
542
- - examples/tutorial/04_test/my-platforms/hpc_config.rb
543
- - examples/tutorial/04_test/my-platforms/images/debian_10/Dockerfile
517
+ - examples/tutorial/04_test/my-service-conf-repo/inventory.yaml
544
518
  - examples/tutorial/04_test/my-platforms/Gemfile
545
519
  - examples/tutorial/04_test/my-platforms/my_commands.bash
520
+ - examples/tutorial/04_test/my-platforms/images/debian_10/Dockerfile
521
+ - examples/tutorial/04_test/my-platforms/hpc_config.rb
522
+ - examples/tutorial/04_test/web_docker_image/hpc_root.key
523
+ - examples/tutorial/04_test/web_docker_image/start.sh
524
+ - examples/tutorial/04_test/web_docker_image/hpc_root.key.pub
525
+ - examples/tutorial/04_test/web_docker_image/Dockerfile
526
+ - examples/tutorial/04_test/web_docker_image/hello_world.txt
527
+ - examples/tutorial/04_test/web_docker_image/test.bash
528
+ - examples/tutorial/04_test/web_docker_image/main.go
529
+ - examples/tutorial/03_scale/node/my-service.conf
530
+ - examples/tutorial/03_scale/my-service-conf-repo/my-service.conf.erb
531
+ - examples/tutorial/03_scale/my-service-conf-repo/service_my-service.rb
532
+ - examples/tutorial/03_scale/my-service-conf-repo/service_web-hello.rb
533
+ - examples/tutorial/03_scale/my-service-conf-repo/inventory.yaml
534
+ - examples/tutorial/03_scale/my-platforms/Gemfile
535
+ - examples/tutorial/03_scale/my-platforms/my_commands.bash
536
+ - examples/tutorial/03_scale/my-platforms/hpc_config.rb
537
+ - examples/tutorial/03_scale/web_docker_image/hpc_root.key
538
+ - examples/tutorial/03_scale/web_docker_image/start.sh
539
+ - examples/tutorial/03_scale/web_docker_image/hpc_root.key.pub
540
+ - examples/tutorial/03_scale/web_docker_image/Dockerfile
541
+ - examples/tutorial/03_scale/web_docker_image/hello_world.txt
542
+ - examples/tutorial/03_scale/web_docker_image/test.bash
543
+ - examples/tutorial/03_scale/web_docker_image/main.go
544
+ - examples/bare/Gemfile
545
+ - examples/bare/hpc_config.rb
546
+ - examples/localhost/Gemfile
546
547
  - examples/localhost/hpc_config.rb
547
548
  - examples/localhost/inventory.yaml
548
- - examples/localhost/Gemfile
549
549
  files:
550
550
  - CHANGELOG.md
551
551
  - LICENSE.md