openbolt 5.6.0 → 9.0.0.pre.rc1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5d6647a2e9293dcfa5e980643d19bb67764ace9cf6832bb0928e82e15ee8f42
4
- data.tar.gz: 4731f17b8df92c12cfc582b9952c0c0d19582854aeb9e8cf05193962cff5f542
3
+ metadata.gz: 1330d8e29efdcb5a955256f23e7b21341702b971d91e993004754c87573254cd
4
+ data.tar.gz: 3e5e5ee382f7e3df85b83c16c63ea43c5f9d35c54f25f2ef50e2589b0591e93d
5
5
  SHA512:
6
- metadata.gz: d99ea67f58ae861d512f56573fa76c6b14d05f833843c7513697b5d7311c6ef712132a28ebf5919b0a45b51f51d9b4a1cad6261aefb7e85139b00eb2a7be24d1
7
- data.tar.gz: 8ff49e9017d8a9a4870e2854a221420aaf1f1750693cd6940ad9f32041093d08a31a756d6584ef85fc26a3506208fceb829f40f6821b0424bcafba1088e68544
6
+ metadata.gz: f957aaf93f718c2626339bb1353d9770da0d2a6b7f16b5628ee63c124df8a45e27add34e72489a98cfb0b12d0b1414f270d1ff42669a499ce777a22a28d46d04
7
+ data.tar.gz: 630c9835d6cc18a6b3dd89e2cc3ace763ba22d63bbd06ff8845126ce624bc9c422672c21b30ac17c7f973713c7ba17cecffbaae9ac178ffea3470acb1df8f6cc
data/Puppetfile CHANGED
@@ -5,51 +5,51 @@ forge 'https://forge.puppetlabs.com'
5
5
  moduledir File.join(File.dirname(__FILE__), 'modules')
6
6
 
7
7
  # Core modules used by 'apply'
8
- mod 'puppetlabs-service', '3.1.0'
9
- mod 'puppet-openvox_bootstrap', '1.4.0'
10
- mod 'puppetlabs-facts', '1.7.0'
8
+ mod 'puppetlabs-service', '4.0.0'
9
+ mod 'puppet-openvox_bootstrap', '1.5.0'
10
+ mod 'puppetlabs-facts', '1.8.1'
11
11
 
12
12
  # Other core Puppet modules
13
- mod 'puppetlabs-inifile', '6.4.0'
14
- mod 'puppetlabs-apt', '11.3.1'
15
- mod 'puppetlabs-stdlib', '9.7.0'
16
- mod 'puppetlabs-powershell', '6.1.0'
17
- mod 'puppetlabs-pwshlib', '2.0.1'
13
+ mod 'puppetlabs-inifile', '6.5.0'
14
+ mod 'puppetlabs-apt', '11.4.0'
15
+ mod 'puppetlabs-stdlib', '10.1.0'
16
+ mod 'puppetlabs-powershell', '6.2.0'
17
+ mod 'puppetlabs-pwshlib', '2.1.1'
18
18
 
19
19
  # Core types and providers for Puppet 6
20
- mod 'puppetlabs-augeas_core', '2.0.1'
21
- mod 'puppetlabs-host_core', '2.0.1'
22
- mod 'puppetlabs-scheduled_task', '4.0.3'
23
- mod 'puppetlabs-sshkeys_core', '3.0.1'
24
- mod 'puppetlabs-zfs_core', '2.0.1'
25
- mod 'puppetlabs-cron_core', '2.0.2'
26
- mod 'puppetlabs-mount_core', '2.0.1'
27
- mod 'puppetlabs-selinux_core', '2.0.1'
28
- mod 'puppetlabs-yumrepo_core', '3.0.1'
29
- mod 'puppetlabs-zone_core', '2.0.2'
20
+ mod 'puppetlabs-augeas_core', '2.1.0'
21
+ mod 'puppetlabs-host_core', '2.1.0'
22
+ mod 'puppetlabs-scheduled_task', '5.1.0'
23
+ mod 'puppetlabs-sshkeys_core', '3.1.0'
24
+ mod 'puppetlabs-zfs_core', '2.1.0'
25
+ mod 'puppetlabs-cron_core', '2.1.0'
26
+ mod 'puppetlabs-mount_core', '2.1.0'
27
+ mod 'puppetlabs-selinux_core', '2.1.0'
28
+ mod 'puppetlabs-yumrepo_core', '3.1.0'
29
+ mod 'puppetlabs-zone_core', '2.1.0'
30
30
 
31
31
  # Useful additional modules
32
- mod 'puppetlabs-package', '3.1.0'
33
- mod 'puppetlabs-puppet_conf', '2.1.0'
34
- mod 'puppetlabs-reboot', '5.1.0'
32
+ mod 'puppetlabs-package', '4.0.0'
33
+ mod 'puppetlabs-puppet_conf', '3.0.0'
34
+ mod 'puppetlabs-reboot', '6.0.0'
35
35
 
36
36
  # Task helpers
37
- mod 'puppetlabs-powershell_task_helper', '0.1.0'
38
- mod 'puppetlabs-ruby_task_helper', '0.6.1'
39
- mod 'puppetlabs-ruby_plugin_helper', '0.3.0'
40
- mod 'puppetlabs-python_task_helper', '0.6.0'
41
- mod 'puppetlabs-bash_task_helper', '2.2.0'
37
+ mod 'puppetlabs-powershell_task_helper', '0.2.0'
38
+ mod 'puppetlabs-ruby_task_helper', '1.1.0'
39
+ mod 'puppetlabs-ruby_plugin_helper', '0.4.0'
40
+ mod 'puppetlabs-python_task_helper', '0.7.0'
41
+ mod 'puppetlabs-bash_task_helper', '2.3.0'
42
42
 
43
43
  # Plugin modules
44
- mod 'puppetlabs-aws_inventory', '0.7.0'
45
- mod 'puppetlabs-azure_inventory', '0.5.1'
46
- mod 'puppetlabs-gcloud_inventory', '0.3.1'
47
- mod 'puppetlabs-http_request', '0.3.2'
48
- mod 'puppetlabs-pkcs7', '0.1.2'
49
- mod 'puppetlabs-secure_env_vars', '0.2.0'
50
- mod 'puppetlabs-terraform', '0.7.2'
51
- mod 'puppetlabs-vault', '0.4.1'
52
- mod 'puppetlabs-yaml', '0.2.0'
44
+ mod 'puppetlabs-aws_inventory', '0.9.0'
45
+ mod 'puppetlabs-azure_inventory', '0.6.0'
46
+ mod 'puppetlabs-gcloud_inventory', '0.4.0'
47
+ mod 'puppetlabs-http_request', '0.4.0'
48
+ mod 'puppetlabs-pkcs7', '0.2.0'
49
+ mod 'puppetlabs-secure_env_vars', '0.3.0'
50
+ mod 'puppetlabs-terraform', '0.8.0'
51
+ mod 'puppetlabs-vault', '0.5.0'
52
+ mod 'puppetlabs-yaml', '0.3.0'
53
53
 
54
54
  # If we don't list these modules explicitly, r10k will purge them
55
55
  mod 'canary', local: true
@@ -81,32 +81,24 @@ Puppet::Functions.create_function(:run_task) do
81
81
  return Bolt::ResultSet.new([])
82
82
  end
83
83
 
84
- # If all targets use the PCP transport, create a fake task instead of
85
- # loading the actual task definition.
86
- if targets.all? { |t| t.transport == 'pcp' }
87
- task = Bolt::Task.new(task_name,
88
- { 'supports_noop' => true },
89
- [{ 'name' => '', 'path' => '' }])
90
- else
91
- # TODO: use the compiler injection once PUP-8237 lands
92
- task_signature = Puppet::Pal::ScriptCompiler.new(closure_scope.compiler).task_signature(task_name)
93
- if task_signature.nil?
94
- raise Bolt::Error.unknown_task(task_name)
95
- end
84
+ # TODO: use the compiler injection once PUP-8237 lands
85
+ task_signature = Puppet::Pal::ScriptCompiler.new(closure_scope.compiler).task_signature(task_name)
86
+ if task_signature.nil?
87
+ raise Bolt::Error.unknown_task(task_name)
88
+ end
96
89
 
97
- task = Bolt::Task.from_task_signature(task_signature)
90
+ task = Bolt::Task.from_task_signature(task_signature)
98
91
 
99
- # Set the default value for any params that have one and were not provided
100
- # or are undef.
101
- params = task.parameter_defaults.merge(params) do |_, default, passed|
102
- passed.nil? ? default : passed
103
- end
104
-
105
- task_signature.runnable_with?(params) do |mismatch_message|
106
- raise with_stack(:TYPE_MISMATCH, mismatch_message)
107
- end || (raise with_stack(:TYPE_MISMATCH, 'Task parameters do not match'))
92
+ # Set the default value for any params that have one and were not provided
93
+ # or are undef.
94
+ params = task.parameter_defaults.merge(params) do |_, default, passed|
95
+ passed.nil? ? default : passed
108
96
  end
109
97
 
98
+ task_signature.runnable_with?(params) do |mismatch_message|
99
+ raise with_stack(:TYPE_MISMATCH, mismatch_message)
100
+ end || (raise with_stack(:TYPE_MISMATCH, 'Task parameters do not match'))
101
+
110
102
  # Generate a helpful error message about the type-mismatch between the type
111
103
  # Data and the actual type of params.
112
104
  unless Puppet::Pops::Types::TypeFactory.data.instance?(params)
@@ -13,8 +13,6 @@ require 'bolt/task'
13
13
  # This function does nothing if the list of targets is empty.
14
14
  #
15
15
  # > **Note:** Not available in apply block
16
- #
17
- # > **Note:** Not available to targets using the pcp transport
18
16
  Puppet::Functions.create_function(:run_task_with) do
19
17
  # Run a task with target-specific parameters.
20
18
  # @param task_name The task to run.
@@ -97,22 +95,14 @@ Puppet::Functions.create_function(:run_task_with) do
97
95
  return Bolt::ResultSet.new([])
98
96
  end
99
97
 
100
- # If all targets use the 'pcp' transport, use a fake task instead of loading the local definition
101
- # Otherwise, load the local task definition
102
- if (pcp_only = targets.all? { |t| t.transport == 'pcp' })
103
- task = Bolt::Task.new(task_name,
104
- { 'supports_noop' => true },
105
- [{ 'name' => '', 'path' => '' }])
106
- else
107
- task_signature = Puppet::Pal::ScriptCompiler.new(closure_scope.compiler).task_signature(task_name)
108
-
109
- if task_signature.nil?
110
- raise Bolt::Error.unknown_task(task_name)
111
- end
98
+ task_signature = Puppet::Pal::ScriptCompiler.new(closure_scope.compiler).task_signature(task_name)
112
99
 
113
- task = Bolt::Task.from_task_signature(task_signature)
100
+ if task_signature.nil?
101
+ raise Bolt::Error.unknown_task(task_name)
114
102
  end
115
103
 
104
+ task = Bolt::Task.from_task_signature(task_signature)
105
+
116
106
  # Map the targets to their specific parameters and merge with the defaults
117
107
  target_mapping = targets.each_with_object({}) do |target, mapping|
118
108
  params = yield(target)
@@ -130,20 +120,18 @@ Puppet::Functions.create_function(:run_task_with) do
130
120
 
131
121
  # If parameters are mismatched, create a failing result for the target that will later
132
122
  # be added to the ResultSet.
133
- unless pcp_only
134
- # Set the default value for any params that have one and were not provided or are undef
135
- params = task.parameter_defaults.merge(params) do |_, default, passed|
136
- passed.nil? ? default : passed
137
- end
138
-
139
- type_match = task_signature.runnable_with?(params) do |mismatch_message|
140
- exception = with_stack(:TYPE_MISMATCH, mismatch_message)
141
- error_set << Bolt::Result.from_exception(target, exception, action: 'task')
142
- end
123
+ # Set the default value for any params that have one and were not provided or are undef
124
+ params = task.parameter_defaults.merge(params) do |_, default, passed|
125
+ passed.nil? ? default : passed
126
+ end
143
127
 
144
- next unless type_match
128
+ type_match = task_signature.runnable_with?(params) do |mismatch_message|
129
+ exception = with_stack(:TYPE_MISMATCH, mismatch_message)
130
+ error_set << Bolt::Result.from_exception(target, exception, action: 'task')
145
131
  end
146
132
 
133
+ next unless type_match
134
+
147
135
  # If there is a type mismatch between the type Data and the type of the params, create
148
136
  # a failing result for the target that will later be added to the ResultSet.
149
137
  unless Puppet::Pops::Types::TypeFactory.data.instance?(params)
@@ -24,4 +24,4 @@ guide: |
24
24
  specific issues.
25
25
 
26
26
  documentation:
27
- - https://pup.pt/bolt-troubleshooting
27
+ - https://docs.openvoxproject.org/openbolt/latest/troubleshooting.html
@@ -19,5 +19,5 @@ guide: |
19
19
  is different than expected.
20
20
 
21
21
  documentation:
22
- - https://pup.pt/bolt-inventory
23
- - https://pup.pt/bolt-inventory-reference
22
+ - https://docs.openvoxproject.org/openbolt/latest/inventory_files.html
23
+ - https://docs.openvoxproject.org/openbolt/latest/bolt_inventory_reference.html
data/guides/links.yaml CHANGED
@@ -1,12 +1,21 @@
1
1
  ---
2
2
  topic: links
3
3
  guide: |
4
- Bolt documentation https://bolt.guide
5
- Ask a question in #bolt https://slack.puppet.com/
6
- Contribute at https://github.com/puppetlabs/bolt/
7
- Getting Started Guide https://pup.pt/bolt-getting-started
8
- Reference Documentation https://pup.pt/bolt-reference
9
- Troubleshooting Bolt https://pup.pt/bolt-troubleshooting
10
- Bolt Developer Updates https://pup.pt/bolt-dev-updates
11
- Bolt Changelog https://pup.pt/bolt-changelog
12
- Bolt Examples https://pup.pt/bolt-examples
4
+ OpenBolt documentation
5
+ https://docs.openvoxproject.org/openbolt/latest/
6
+ Getting Started Guide
7
+ https://docs.openvoxproject.org/openbolt/latest/getting_started_with_bolt.html
8
+ Configuration Reference
9
+ https://docs.openvoxproject.org/openbolt/latest/configuring_bolt.html
10
+ Troubleshooting OpenBolt
11
+ https://docs.openvoxproject.org/openbolt/latest/troubleshooting.html
12
+ OpenBolt Developer Updates
13
+ https://docs.openvoxproject.org/openbolt/latest/developer_updates.html
14
+ OpenBolt Release Notes
15
+ https://docs.openvoxproject.org/openbolt/latest/release_notes.html
16
+ OpenBolt Examples
17
+ https://docs.openvoxproject.org/openbolt/latest/bolt_examples.html
18
+ Ask a question in #sig-openbolt
19
+ https://voxpupuli.org/connect/
20
+ Contribute at
21
+ https://github.com/OpenVoxProject/openbolt
data/guides/logging.yaml CHANGED
@@ -14,4 +14,4 @@ guide: |
14
14
  To learn more about projects, see the 'project' guide.
15
15
 
16
16
  documentation:
17
- - https://pup.pt/bolt-logging
17
+ - https://docs.openvoxproject.org/openbolt/latest/logs.html
data/guides/module.yaml CHANGED
@@ -15,4 +15,4 @@ guide: |
15
15
  To learn how modules are loaded by Bolt, see the 'modulepath' guide.
16
16
 
17
17
  documentation:
18
- - https://pup.pt/bolt-modules
18
+ - https://docs.openvoxproject.org/openbolt/latest/modules.html
@@ -21,4 +21,4 @@ guide: |
21
21
  To learn more about modules, see the 'module' guide.
22
22
 
23
23
  documentation:
24
- - https://pup.pt/bolt-project-reference#modulepath
24
+ - https://docs.openvoxproject.org/openbolt/latest/bolt_project_reference.html#modulepath
data/guides/project.yaml CHANGED
@@ -17,5 +17,5 @@ guide: |
17
17
  of a project.
18
18
 
19
19
  documentation:
20
- - https://pup.pt/bolt-projects
21
- - https://pup.pt/bolt-project-reference
20
+ - https://docs.openvoxproject.org/openbolt/latest/projects.html
21
+ - https://docs.openvoxproject.org/openbolt/latest/bolt_project_reference.html
data/guides/targets.yaml CHANGED
@@ -25,4 +25,4 @@ guide: |
25
25
  see 'bolt guide inventory'.
26
26
 
27
27
  documentation:
28
- - https://pup.pt/bolt-commands
28
+ - https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html
@@ -4,7 +4,8 @@ guide: |
4
4
  Bolt uses transports (also known as protocols) to establish a connection
5
5
  with a target in order to run actions on the target. The default transport is
6
6
  SSH, and you can see available transports along with their configuration
7
- options and defaults at http://pup.pt/bolt-reference.
7
+ options and defaults at
8
+ https://docs.openvoxproject.org/openbolt/latest/bolt_transports_reference.html.
8
9
 
9
10
  You can specify a transport for a target by prepending '<transport>://' to
10
11
  the target's URI. For example, to connect to a target with hostname
@@ -18,5 +19,5 @@ guide: |
18
19
  information about the Bolt inventory, run 'bolt guide inventory'.
19
20
 
20
21
  documentation:
21
- - https://pup.pt/bolt-commands#specify-a-transport
22
- - http://pup.pt/bolt-inventory#transport-configuration
22
+ - https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html#specify-a-transport
23
+ - https://docs.openvoxproject.org/openbolt/latest/inventory_files.html#transport-configuration
@@ -82,16 +82,8 @@ module Bolt
82
82
  if File.exist?(filename)
83
83
  Bolt::Util.read_optional_yaml_hash(filename, 'analytics')
84
84
  else
85
- # Remove || true if we fix this for Vox analytics
86
- unless ENV['BOLT_DISABLE_ANALYTICS'] || true
87
- msg = <<~ANALYTICS
88
- Bolt collects data about how you use it. You can opt out of providing this data.
89
- To learn how to disable data collection, or see what data Bolt collects and why,
90
- see http://pup.pt/bolt-analytics
91
- ANALYTICS
92
- Bolt::Logger.warn_once('analytics_opt_out', msg)
93
- end
94
-
85
+ # Analytics are disabled in this fork, so there is nothing to opt out of.
86
+ # If analytics are revived for Vox, restore an opt-out notice here.
95
87
  {}
96
88
  end
97
89
  end
@@ -245,7 +245,7 @@ module Bolt
245
245
  Apply Puppet manifest code on the specified targets.
246
246
 
247
247
  #{colorize(:cyan, 'Documentation')}
248
- For documentation see http://pup.pt/bolt-apply.
248
+ For documentation see https://docs.openvoxproject.org/openbolt/latest/applying_manifest_blocks.html.
249
249
 
250
250
  #{colorize(:cyan, 'Examples')}
251
251
  bolt apply manifest.pp -t target
@@ -263,7 +263,7 @@ module Bolt
263
263
  Run a command on the specified targets.
264
264
 
265
265
  #{colorize(:cyan, 'Documentation')}
266
- For documentation see http://pup.pt/bolt-commands.
266
+ For documentation see https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html.
267
267
 
268
268
  #{colorize(:cyan, 'Actions')}
269
269
  run Run a command on the specified targets.
@@ -281,7 +281,7 @@ module Bolt
281
281
  Run a command on the specified targets.
282
282
 
283
283
  #{colorize(:cyan, 'Documentation')}
284
- For documentation see http://pup.pt/bolt-commands.
284
+ For documentation see https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html.
285
285
 
286
286
  #{colorize(:cyan, 'Examples')}
287
287
  bolt command run 'uptime' -t target1,target2
@@ -298,7 +298,7 @@ module Bolt
298
298
  Copy files and directories between the controller and targets.
299
299
 
300
300
  #{colorize(:cyan, 'Documentation')}
301
- For documentation see http://pup.pt/bolt-commands.
301
+ For documentation see https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html.
302
302
 
303
303
  #{colorize(:cyan, 'Actions')}
304
304
  download Download a file or directory to the controller
@@ -322,7 +322,7 @@ module Bolt
322
322
  subdirectory of the project directory.
323
323
 
324
324
  #{colorize(:cyan, 'Documentation')}
325
- For documentation see http://pup.pt/bolt-commands.
325
+ For documentation see https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html.
326
326
 
327
327
  #{colorize(:cyan, 'Examples')}
328
328
  bolt file download /etc/ssh_config ssh_config -t all
@@ -340,7 +340,7 @@ module Bolt
340
340
  Upload a local file or directory.
341
341
 
342
342
  #{colorize(:cyan, 'Documentation')}
343
- For documentation see http://pup.pt/bolt-commands.
343
+ For documentation see https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html.
344
344
 
345
345
  #{colorize(:cyan, 'Examples')}
346
346
  bolt file upload /tmp/source /etc/profile.d/login.sh -t target1
@@ -445,7 +445,7 @@ module Bolt
445
445
  Look up a value with Hiera.
446
446
 
447
447
  #{colorize(:cyan, 'Documentation')}
448
- Learn more about using Hiera with Bolt at https://pup.pt/bolt-hiera.
448
+ Learn more about using Hiera with Bolt at https://docs.openvoxproject.org/openbolt/latest/hiera.html.
449
449
 
450
450
  #{colorize(:cyan, 'Examples')}
451
451
  bolt lookup password --targets servers
@@ -551,7 +551,7 @@ module Bolt
551
551
  Convert, create, show, and run Bolt plans.
552
552
 
553
553
  #{colorize(:cyan, 'Documentation')}
554
- Learn more about Bolt plans at https://pup.pt/bolt-plans.
554
+ Learn more about Bolt plans at https://docs.openvoxproject.org/openbolt/latest/plans.html.
555
555
 
556
556
  #{colorize(:cyan, 'Actions')}
557
557
  convert Convert a YAML plan to a Bolt plan
@@ -576,7 +576,7 @@ module Bolt
576
576
  functionality. Note that the converted plan is not written to a file.
577
577
 
578
578
  #{colorize(:cyan, 'Documentation')}
579
- Learn more about Bolt plans at https://pup.pt/bolt-plans.
579
+ Learn more about Bolt plans at https://docs.openvoxproject.org/openbolt/latest/plans.html.
580
580
 
581
581
  #{colorize(:cyan, 'Examples')}
582
582
  bolt plan convert myproject::myplan
@@ -594,7 +594,7 @@ module Bolt
594
594
  Create a new plan in the current project.
595
595
 
596
596
  #{colorize(:cyan, 'Documentation')}
597
- Learn more about Bolt plans at https://pup.pt/bolt-plans.
597
+ Learn more about Bolt plans at https://docs.openvoxproject.org/openbolt/latest/plans.html.
598
598
 
599
599
  #{colorize(:cyan, 'Examples')}
600
600
  bolt plan new myproject::myplan
@@ -611,7 +611,7 @@ module Bolt
611
611
  Run a plan on the specified targets.
612
612
 
613
613
  #{colorize(:cyan, 'Documentation')}
614
- Learn more about Bolt plans at https://pup.pt/bolt-plans.
614
+ Learn more about Bolt plans at https://docs.openvoxproject.org/openbolt/latest/plans.html.
615
615
 
616
616
  #{colorize(:cyan, 'Examples')}
617
617
  bolt plan run canary --targets target1,target2 command=hostname
@@ -634,7 +634,7 @@ module Bolt
634
634
  the plan, including a list of available parameters.
635
635
 
636
636
  #{colorize(:cyan, 'Documentation')}
637
- Learn more about Bolt plans at https://pup.pt/bolt-plans.
637
+ Learn more about Bolt plans at https://docs.openvoxproject.org/openbolt/latest/plans.html.
638
638
 
639
639
  #{colorize(:cyan, 'Examples')}
640
640
  Display a list of available plans
@@ -654,7 +654,7 @@ module Bolt
654
654
  Show available plugins.
655
655
 
656
656
  #{colorize(:cyan, 'Documentation')}
657
- Learn more about Bolt plugins at https://pup.pt/bolt-plugins.
657
+ Learn more about Bolt plugins at https://docs.openvoxproject.org/openbolt/latest/using_plugins.html.
658
658
 
659
659
  #{colorize(:cyan, 'Actions')}
660
660
  show Show available plugins
@@ -671,7 +671,7 @@ module Bolt
671
671
  Show available plugins.
672
672
 
673
673
  #{colorize(:cyan, 'Documentation')}
674
- Learn more about Bolt plugins at https://pup.pt/bolt-plugins.
674
+ Learn more about Bolt plugins at https://docs.openvoxproject.org/openbolt/latest/using_plugins.html.
675
675
  HELP
676
676
 
677
677
  POLICY_HELP = <<~HELP
@@ -791,7 +791,7 @@ module Bolt
791
791
  Run a script on the specified targets.
792
792
 
793
793
  #{colorize(:cyan, 'Documentation')}
794
- Learn more about running scripts at https://pup.pt/bolt-commands.
794
+ Learn more about running scripts at https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html.
795
795
 
796
796
  #{colorize(:cyan, 'Actions')}
797
797
  run Run a script on the specified targets.
@@ -813,7 +813,7 @@ module Bolt
813
813
  be quoted.
814
814
 
815
815
  #{colorize(:cyan, 'Documentation')}
816
- Learn more about running scripts at https://pup.pt/bolt-commands.
816
+ Learn more about running scripts at https://docs.openvoxproject.org/openbolt/latest/running_bolt_commands.html.
817
817
 
818
818
  #{colorize(:cyan, 'Examples')}
819
819
  bolt script run myscript.sh 'echo hello' --targets target1,target2
@@ -830,7 +830,7 @@ module Bolt
830
830
  Create encryption keys and encrypt and decrypt values.
831
831
 
832
832
  #{colorize(:cyan, 'Documentation')}
833
- Learn more about secrets plugins at http://pup.pt/bolt-plugins.
833
+ Learn more about secrets plugins at https://docs.openvoxproject.org/openbolt/latest/using_plugins.html.
834
834
 
835
835
  #{colorize(:cyan, 'Actions')}
836
836
  createkeys Create new encryption keys
@@ -849,7 +849,7 @@ module Bolt
849
849
  Create new encryption keys.
850
850
 
851
851
  #{colorize(:cyan, 'Documentation')}
852
- Learn more about secrets plugins at http://pup.pt/bolt-plugins.
852
+ Learn more about secrets plugins at https://docs.openvoxproject.org/openbolt/latest/using_plugins.html.
853
853
  HELP
854
854
 
855
855
  SECRET_DECRYPT_HELP = <<~HELP
@@ -863,7 +863,7 @@ module Bolt
863
863
  Decrypt a value.
864
864
 
865
865
  #{colorize(:cyan, 'Documentation')}
866
- Learn more about secrets plugins at http://pup.pt/bolt-plugins.
866
+ Learn more about secrets plugins at https://docs.openvoxproject.org/openbolt/latest/using_plugins.html.
867
867
  HELP
868
868
 
869
869
  SECRET_ENCRYPT_HELP = <<~HELP
@@ -877,7 +877,7 @@ module Bolt
877
877
  Encrypt a value.
878
878
 
879
879
  #{colorize(:cyan, 'Documentation')}
880
- Learn more about secrets plugins at http://pup.pt/bolt-plugins.
880
+ Learn more about secrets plugins at https://docs.openvoxproject.org/openbolt/latest/using_plugins.html.
881
881
  HELP
882
882
 
883
883
  TASK_HELP = <<~HELP
@@ -891,7 +891,7 @@ module Bolt
891
891
  Show and run Bolt tasks.
892
892
 
893
893
  #{colorize(:cyan, 'Documentation')}
894
- Learn more about Bolt tasks at http://pup.pt/bolt-tasks.
894
+ Learn more about Bolt tasks at https://docs.openvoxproject.org/openbolt/latest/tasks.html.
895
895
 
896
896
  #{colorize(:cyan, 'Actions')}
897
897
  run Run a Bolt task
@@ -912,7 +912,7 @@ module Bolt
912
912
  Parameters take the form parameter=value.
913
913
 
914
914
  #{colorize(:cyan, 'Documentation')}
915
- Learn more about Bolt tasks at http://pup.pt/bolt-tasks.
915
+ Learn more about Bolt tasks at https://docs.openvoxproject.org/openbolt/latest/tasks.html.
916
916
 
917
917
  #{colorize(:cyan, 'Examples')}
918
918
  bolt task run package --targets target1,target2 action=status name=bash
@@ -935,7 +935,7 @@ module Bolt
935
935
  the task, including a list of available parameters.
936
936
 
937
937
  #{colorize(:cyan, 'Documentation')}
938
- Learn more about Bolt tasks at http://pup.pt/bolt-tasks.
938
+ Learn more about Bolt tasks at https://docs.openvoxproject.org/openbolt/latest/tasks.html.
939
939
 
940
940
  #{colorize(:cyan, 'Examples')}
941
941
  Display a list of available tasks
@@ -1183,7 +1183,7 @@ module Bolt
1183
1183
  if File.exist?(path) || Pathname.new(path).absolute? ||
1184
1184
  !%w[scripts files].include?(path.split(File::SEPARATOR)[1])
1185
1185
  raise Bolt::CLIError, "The script must be a detailed Puppet file reference, " \
1186
- "for example 'mymodule/scripts/myscript.sh'. See http://pup.pt/bolt-scripts for " \
1186
+ "for example 'mymodule/scripts/myscript.sh'. See https://docs.openvoxproject.org/openbolt/latest/bolt_running_scripts.html for " \
1187
1187
  "more information on detailed Puppet file references."
1188
1188
  end
1189
1189
 
@@ -359,7 +359,7 @@ module Bolt
359
359
  description: "A list of module dependencies for the project. Each dependency is a map of data specifying " \
360
360
  "the module to install. To install the project's module dependencies, run the `bolt module " \
361
361
  "install` command. For more information about specifying modules, see [the " \
362
- "documentation](https://pup.pt/bolt-module-specs).",
362
+ "documentation](https://docs.openvoxproject.org/openbolt/latest/bolt_installing_modules.html#manually-specify-modules-in-a-bolt-project).",
363
363
  type: Array,
364
364
  items: {
365
365
  type: [Hash, String],
@@ -215,20 +215,6 @@ module Bolt
215
215
  _example: { "rb" => ["/usr/bin/ruby", "-r", "puppet"],
216
216
  ".py" => "/usr/bin/python3" }
217
217
  },
218
- "job-poll-interval" => {
219
- type: Integer,
220
- description: "The interval, in seconds, to poll orchestrator for job status.",
221
- minimum: 1,
222
- _plugin: true,
223
- _example: 2
224
- },
225
- "job-poll-timeout" => {
226
- type: Integer,
227
- description: "The time, in seconds, to wait for orchestrator job status.",
228
- minimum: 1,
229
- _plugin: true,
230
- _example: 2000
231
- },
232
218
  "kex-algorithms" => {
233
219
  type: Array,
234
220
  description: "A list of key exchange algorithms to use when establishing a connection " \
@@ -346,13 +332,6 @@ module Bolt
346
332
  _default: "production",
347
333
  _example: "staging"
348
334
  },
349
- "read-timeout" => {
350
- type: Integer,
351
- description: "How long to wait in seconds when making requests to the Orchestrator.",
352
- minimum: 1,
353
- _plugin: true,
354
- _example: 15
355
- },
356
335
  "realm" => {
357
336
  type: String,
358
337
  description: "The Kerberos realm (Active Directory domain) to authenticate against.",
@@ -486,13 +465,6 @@ module Bolt
486
465
  _plugin: true,
487
466
  _example: "p@$$w0rd!"
488
467
  },
489
- "task-environment" => {
490
- type: String,
491
- description: "The environment the orchestrator loads task code from.",
492
- _plugin: true,
493
- _default: "production",
494
- _example: "development"
495
- },
496
468
  "task-timeout" => {
497
469
  type: Integer,
498
470
  description: "How long to wait in seconds for tasks to complete when using the Choria transport.",
@@ -507,12 +479,6 @@ module Bolt
507
479
  _plugin: true,
508
480
  _example: "/tmp/bolt"
509
481
  },
510
- "token-file" => {
511
- type: String,
512
- description: "The path to the token file.",
513
- _plugin: true,
514
- _example: "~/.puppetlabs/puppet/token.pem"
515
- },
516
482
  "tty" => {
517
483
  type: [TrueClass, FalseClass],
518
484
  description: "Whether to enable tty on exec commands.",
@@ -84,7 +84,7 @@ module Bolt
84
84
  "plugin_hooks" => {
85
85
  description: "Configuration for the Puppet library plugin used to install the " \
86
86
  "Puppet agent on the target. For more information, see " \
87
- "https://pup.pt/bolt-plugin-hooks",
87
+ "https://docs.openvoxproject.org/openbolt/latest/writing_plugins.html",
88
88
  type: Hash,
89
89
  properties: {
90
90
  "puppet_library" => {
@@ -179,7 +179,7 @@ module Bolt
179
179
  'dotted_fact_name',
180
180
  "Target '#{safe_name}' includes dotted fact names: '#{dotted.join("', '")}'. Dotted fact " \
181
181
  "names are deprecated and Bolt does not automatically convert facts with dotted names to " \
182
- "structured facts. For more information, see https://pup.pt/bolt-dotted-facts"
182
+ "structured facts. For more information, see https://docs.openvoxproject.org/openbolt/latest/developer_updates.html#deprecating-dotted-fact-names"
183
183
  )
184
184
  end
185
185
  end
@@ -72,7 +72,7 @@ module Bolt
72
72
  File.open(path, 'w') do |file|
73
73
  if moduledir
74
74
  file.puts "# This Puppetfile is managed by Bolt. Do not edit."
75
- file.puts "# For more information, see https://pup.pt/bolt-modules"
75
+ file.puts "# For more information, see https://docs.openvoxproject.org/openbolt/latest/modules.html"
76
76
  file.puts
77
77
  file.puts "# The following directive installs modules to the managed moduledir."
78
78
  file.puts "moduledir '#{moduledir.basename}'"
@@ -57,7 +57,7 @@ module Bolt
57
57
  Invalid module specification:
58
58
  #{hash.to_yaml.lines.drop(1).join.chomp}
59
59
 
60
- To read more about specifying modules, see https://pup.pt/bolt-module-specs
60
+ To read more about specifying modules, see https://docs.openvoxproject.org/openbolt/latest/bolt_installing_modules.html#manually-specify-modules-in-a-bolt-project
61
61
  MESSAGE
62
62
  end
63
63
 
@@ -51,7 +51,6 @@ module Bolt
51
51
 
52
52
  @spinning = false
53
53
  @spin_thread.terminate
54
- @stream.print("\b")
55
54
  end
56
55
 
57
56
  def remove_trail(string)
@@ -645,7 +644,7 @@ module Bolt
645
644
  info << indent(2, "#{modulepath.join(File::PATH_SEPARATOR)}\n\n")
646
645
 
647
646
  info << colorize(:cyan, "Additional information\n")
648
- info << indent(2, "For more information about using plugins see https://pup.pt/bolt-plugins")
647
+ info << indent(2, "For more information about using plugins see https://docs.openvoxproject.org/openbolt/latest/using_plugins.html")
649
648
 
650
649
  @stream.puts info.chomp
651
650
  end
@@ -113,7 +113,7 @@ module Bolt
113
113
  private_class_method def self.yaml_plan(plan_name)
114
114
  <<~YAML
115
115
  # This is the structure of a simple plan. To learn more about writing
116
- # YAML plans, see the documentation: http://pup.pt/bolt-yaml-plans
116
+ # YAML plans, see the documentation: https://docs.openvoxproject.org/openbolt/latest/writing_yaml_plans.html
117
117
 
118
118
  # The description sets the description of the plan that will appear
119
119
  # in 'bolt plan show' output.
@@ -146,7 +146,7 @@ module Bolt
146
146
  private_class_method def self.yaml_script_plan(script)
147
147
  <<~YAML
148
148
  # This is the structure of a simple plan. To learn more about writing
149
- # YAML plans, see the documentation: http://pup.pt/bolt-yaml-plans
149
+ # YAML plans, see the documentation: https://docs.openvoxproject.org/openbolt/latest/writing_yaml_plans.html
150
150
 
151
151
  # The description sets the description of the plan that will appear
152
152
  # in 'bolt plan show' output.
@@ -177,7 +177,7 @@ module Bolt
177
177
  private_class_method def self.puppet_plan(plan_name)
178
178
  <<~PUPPET
179
179
  # This is the structure of a simple plan. To learn more about writing
180
- # Puppet plans, see the documentation: http://pup.pt/bolt-puppet-plans
180
+ # Puppet plans, see the documentation: https://docs.openvoxproject.org/openbolt/latest/writing_plans.html
181
181
 
182
182
  # The summary sets the description of the plan that will appear
183
183
  # in 'bolt plan show' output. Bolt uses puppet-strings to parse the
@@ -202,7 +202,7 @@ module Bolt
202
202
  private_class_method def self.puppet_script_plan(plan_name, script)
203
203
  <<~PUPPET
204
204
  # This is the structure of a simple plan. To learn more about writing
205
- # Puppet plans, see the documentation: http://pup.pt/bolt-puppet-plans
205
+ # Puppet plans, see the documentation: https://docs.openvoxproject.org/openbolt/latest/writing_plans.html
206
206
 
207
207
  # The summary sets the description of the plan that will appear
208
208
  # in 'bolt plan show' output. Bolt uses puppet-strings to parse the
@@ -35,7 +35,7 @@ module Bolt
35
35
  rescue StandardError => e
36
36
  raise Bolt::FileError.new(
37
37
  "Unable to write to #{inventory_file}: #{e.message}. See " \
38
- "http://pup.pt/bolt-inventory to manually update.",
38
+ "https://docs.openvoxproject.org/openbolt/latest/inventory_files.html to manually update.",
39
39
  inventory_file
40
40
  )
41
41
  end
@@ -23,7 +23,7 @@ module Bolt
23
23
  @outputter.print_action_step(
24
24
  "Project has a non-default configured modulepath, unable to automatically " \
25
25
  "migrate project modules. To migrate project modules manually, see " \
26
- "http://pup.pt/bolt-modules"
26
+ "https://docs.openvoxproject.org/openbolt/latest/modules.html"
27
27
  )
28
28
  true
29
29
  # Migrate modules from Puppetfile
@@ -8,7 +8,7 @@ module Bolt
8
8
  class ProjectManager
9
9
  INVENTORY_TEMPLATE = <<~INVENTORY
10
10
  # This is an example inventory.yaml
11
- # To read more about inventory files, see https://pup.pt/bolt-inventory
11
+ # To read more about inventory files, see https://docs.openvoxproject.org/openbolt/latest/inventory_files.html
12
12
  #
13
13
  # groups:
14
14
  # - name: linux
@@ -484,7 +484,8 @@ module Bolt
484
484
  @logger.trace { "Command `#{command_str}` returned successfully" }
485
485
  when 126
486
486
  msg = "\n\nThis might be caused by the default tmpdir being mounted " \
487
- "using 'noexec'. See http://pup.pt/task-failure for details and workarounds."
487
+ "using 'noexec'. See https://docs.openvoxproject.org/openbolt/latest/troubleshooting.html" \
488
+ "#my-task-fails-with-a-permission-denied-error-noexec-issue for details and workarounds."
488
489
  result_output.stderr << msg
489
490
  result_output.merged_output << msg
490
491
  @logger.trace { "Command #{command_str} failed with exit code #{result_output.exit_code}" }
@@ -139,7 +139,8 @@ module Bolt
139
139
  "Host key verification failed for #{target.safe_name}: #{e.message}",
140
140
  'HOST_KEY_ERROR'
141
141
  )
142
- rescue Net::SSH::ConnectionTimeout
142
+ # Socket.tcp raises IO::TimeoutError for a connect timeout since Ruby 4.0
143
+ rescue Net::SSH::ConnectionTimeout, IO::TimeoutError
143
144
  raise Bolt::Node::ConnectError.new(
144
145
  "Timeout after #{target.options['connect-timeout']} seconds connecting to #{target.safe_name}",
145
146
  'CONNECT_ERROR'
data/lib/bolt/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bolt
4
- VERSION = '5.6.0'
4
+ VERSION = '9.0.0-rc1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openbolt
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.6.0
4
+ version: 9.0.0.pre.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenVox Project
@@ -37,6 +37,20 @@ dependencies:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1'
40
+ - !ruby/object:Gem::Dependency
41
+ name: bindata
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "<"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.0'
40
54
  - !ruby/object:Gem::Dependency
41
55
  name: CFPropertyList
42
56
  requirement: !ruby/object:Gem::Requirement
@@ -247,14 +261,14 @@ dependencies:
247
261
  requirements:
248
262
  - - "~>"
249
263
  - !ruby/object:Gem::Version
250
- version: '8.0'
264
+ version: '9.0'
251
265
  type: :runtime
252
266
  prerelease: false
253
267
  version_requirements: !ruby/object:Gem::Requirement
254
268
  requirements:
255
269
  - - "~>"
256
270
  - !ruby/object:Gem::Version
257
- version: '8.0'
271
+ version: '9.0'
258
272
  - !ruby/object:Gem::Dependency
259
273
  name: openvox-strings
260
274
  requirement: !ruby/object:Gem::Requirement
@@ -742,7 +756,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
742
756
  - !ruby/object:Gem::Version
743
757
  version: '0'
744
758
  requirements: []
745
- rubygems_version: 4.0.10
759
+ rubygems_version: 4.0.16
746
760
  specification_version: 4
747
761
  summary: Execute commands remotely over SSH and WinRM
748
762
  test_files: []