bolt 3.15.0 → 3.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Puppetfile +7 -7
- data/bolt-modules/boltlib/lib/puppet/functions/run_script.rb +1 -4
- data/bolt-modules/boltlib/lib/puppet/functions/upload_file.rb +1 -4
- data/bolt-modules/file/lib/puppet/functions/file/exists.rb +1 -4
- data/bolt-modules/file/lib/puppet/functions/file/read.rb +1 -4
- data/bolt-modules/file/lib/puppet/functions/file/readable.rb +1 -4
- data/lib/bolt/analytics.rb +4 -21
- data/lib/bolt/application.rb +627 -0
- data/lib/bolt/applicator.rb +7 -6
- data/lib/bolt/apply_inventory.rb +3 -3
- data/lib/bolt/apply_result.rb +2 -2
- data/lib/bolt/bolt_option_parser.rb +27 -3
- data/lib/bolt/catalog.rb +10 -11
- data/lib/bolt/cli.rb +607 -809
- data/lib/bolt/config/modulepath.rb +1 -1
- data/lib/bolt/config/options.rb +32 -13
- data/lib/bolt/config/transport/base.rb +4 -4
- data/lib/bolt/config/transport/docker.rb +2 -2
- data/lib/bolt/config/transport/local.rb +2 -2
- data/lib/bolt/config/transport/lxd.rb +2 -2
- data/lib/bolt/config/transport/orch.rb +2 -2
- data/lib/bolt/config/transport/podman.rb +2 -2
- data/lib/bolt/config/transport/remote.rb +2 -2
- data/lib/bolt/config/transport/ssh.rb +2 -2
- data/lib/bolt/config/transport/winrm.rb +2 -2
- data/lib/bolt/config.rb +5 -5
- data/lib/bolt/container_result.rb +2 -2
- data/lib/bolt/error.rb +1 -1
- data/lib/bolt/executor.rb +17 -14
- data/lib/bolt/fiber_executor.rb +9 -5
- data/lib/bolt/inventory/group.rb +4 -4
- data/lib/bolt/inventory/inventory.rb +64 -41
- data/lib/bolt/inventory/options.rb +1 -1
- data/lib/bolt/inventory/target.rb +1 -1
- data/lib/bolt/inventory.rb +10 -17
- data/lib/bolt/module_installer/installer.rb +2 -2
- data/lib/bolt/module_installer/puppetfile/forge_module.rb +1 -1
- data/lib/bolt/module_installer/puppetfile/git_module.rb +1 -1
- data/lib/bolt/module_installer/puppetfile/module.rb +1 -1
- data/lib/bolt/module_installer/puppetfile.rb +27 -13
- data/lib/bolt/module_installer/resolver.rb +3 -3
- data/lib/bolt/module_installer/specs/forge_spec.rb +1 -1
- data/lib/bolt/module_installer/specs/git_spec.rb +1 -1
- data/lib/bolt/module_installer/specs.rb +3 -3
- data/lib/bolt/module_installer.rb +6 -6
- data/lib/bolt/node/errors.rb +1 -1
- data/lib/bolt/node/output.rb +1 -1
- data/lib/bolt/outputter/human.rb +85 -34
- data/lib/bolt/outputter/json.rb +63 -38
- data/lib/bolt/outputter/logger.rb +1 -1
- data/lib/bolt/outputter/rainbow.rb +1 -1
- data/lib/bolt/outputter.rb +4 -4
- data/lib/bolt/pal/logging.rb +1 -1
- data/lib/bolt/pal/yaml_plan/evaluator.rb +1 -1
- data/lib/bolt/pal/yaml_plan/loader.rb +2 -2
- data/lib/bolt/pal/yaml_plan/step.rb +11 -11
- data/lib/bolt/pal/yaml_plan/transpiler.rb +3 -3
- data/lib/bolt/pal/yaml_plan.rb +2 -2
- data/lib/bolt/pal.rb +11 -11
- data/lib/bolt/plan_creator.rb +88 -29
- data/lib/bolt/plan_future.rb +11 -6
- data/lib/bolt/plan_result.rb +3 -3
- data/lib/bolt/plugin/cache.rb +2 -2
- data/lib/bolt/plugin/module.rb +1 -1
- data/lib/bolt/plugin.rb +18 -24
- data/lib/bolt/project.rb +4 -11
- data/lib/bolt/project_manager/config_migrator.rb +1 -1
- data/lib/bolt/project_manager/inventory_migrator.rb +1 -1
- data/lib/bolt/project_manager/migrator.rb +1 -1
- data/lib/bolt/project_manager/module_migrator.rb +5 -5
- data/lib/bolt/project_manager.rb +23 -4
- data/lib/bolt/puppetdb/config.rb +1 -1
- data/lib/bolt/puppetdb.rb +3 -3
- data/lib/bolt/result.rb +1 -1
- data/lib/bolt/result_set.rb +2 -1
- data/lib/bolt/shell/bash.rb +12 -2
- data/lib/bolt/shell/powershell.rb +9 -2
- data/lib/bolt/shell.rb +2 -2
- data/lib/bolt/target.rb +2 -2
- data/lib/bolt/transport/base.rb +1 -1
- data/lib/bolt/transport/docker/connection.rb +1 -1
- data/lib/bolt/transport/docker.rb +2 -2
- data/lib/bolt/transport/local/connection.rb +19 -3
- data/lib/bolt/transport/local.rb +3 -3
- data/lib/bolt/transport/lxd/connection.rb +1 -1
- data/lib/bolt/transport/lxd.rb +4 -4
- data/lib/bolt/transport/orch/connection.rb +13 -1
- data/lib/bolt/transport/orch.rb +2 -2
- data/lib/bolt/transport/podman/connection.rb +1 -1
- data/lib/bolt/transport/podman.rb +2 -2
- data/lib/bolt/transport/remote.rb +2 -2
- data/lib/bolt/transport/simple.rb +3 -3
- data/lib/bolt/transport/ssh/connection.rb +3 -3
- data/lib/bolt/transport/ssh.rb +5 -5
- data/lib/bolt/transport/winrm/connection.rb +2 -2
- data/lib/bolt/transport/winrm.rb +3 -3
- data/lib/bolt/util.rb +8 -31
- data/lib/bolt/validator.rb +1 -1
- data/lib/bolt/version.rb +1 -1
- data/lib/bolt.rb +1 -1
- data/lib/bolt_server/file_cache.rb +12 -0
- data/lib/bolt_server/schemas/action-apply.json +32 -0
- data/lib/bolt_server/schemas/action-apply_prep.json +19 -0
- data/lib/bolt_server/transport_app.rb +129 -26
- data/lib/bolt_spec/bolt_context.rb +7 -5
- data/lib/bolt_spec/plans/mock_executor.rb +3 -3
- data/lib/bolt_spec/run.rb +1 -1
- data/libexec/bolt_catalog +1 -1
- metadata +7 -5
- data/lib/bolt/secret.rb +0 -37
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1da7c437e5ea72a7f457ee51a06dbe434c85099ac2313491fffc63caa19b5acb
|
|
4
|
+
data.tar.gz: 5c081782bc847bf233e21a40094ffb0878e3bf0bf2da9ffd4ab527f1239d587e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f1cf5097a426a55de0e69f62cb266b15a91521991ad777d8b21ce81653b828bc279d6111fc0d02fb2f289dc53170db0d13bc99580fcd73fab4ce67ac64751795
|
|
7
|
+
data.tar.gz: 0fef7a9159cc63e167a9014d25a4a1937194adcbcf35492f5286d1c0c88b9202436b1fe64ea92770895350c795900e3ed701a108bfb1814570386c6411079f00
|
data/Puppetfile
CHANGED
|
@@ -5,8 +5,8 @@ forge "http://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', '2.
|
|
9
|
-
mod 'puppetlabs-puppet_agent', '4.
|
|
8
|
+
mod 'puppetlabs-service', '2.1.0'
|
|
9
|
+
mod 'puppetlabs-puppet_agent', '4.9.0'
|
|
10
10
|
mod 'puppetlabs-facts', '1.4.0'
|
|
11
11
|
|
|
12
12
|
# Core types and providers for Puppet 6
|
|
@@ -22,20 +22,20 @@ mod 'puppetlabs-yumrepo_core', '1.0.7'
|
|
|
22
22
|
mod 'puppetlabs-zone_core', '1.0.3'
|
|
23
23
|
|
|
24
24
|
# Useful additional modules
|
|
25
|
-
mod 'puppetlabs-package', '2.
|
|
25
|
+
mod 'puppetlabs-package', '2.1.0'
|
|
26
26
|
mod 'puppetlabs-powershell_task_helper', '0.1.0'
|
|
27
|
-
mod 'puppetlabs-puppet_conf', '1.
|
|
27
|
+
mod 'puppetlabs-puppet_conf', '1.2.0'
|
|
28
28
|
mod 'puppetlabs-python_task_helper', '0.5.0'
|
|
29
|
-
mod 'puppetlabs-reboot', '4.0
|
|
29
|
+
mod 'puppetlabs-reboot', '4.1.0'
|
|
30
30
|
mod 'puppetlabs-ruby_task_helper', '0.6.0'
|
|
31
31
|
mod 'puppetlabs-ruby_plugin_helper', '0.2.0'
|
|
32
|
-
mod 'puppetlabs-stdlib', '
|
|
32
|
+
mod 'puppetlabs-stdlib', '8.0.0'
|
|
33
33
|
|
|
34
34
|
# Plugin modules
|
|
35
35
|
mod 'puppetlabs-aws_inventory', '0.7.0'
|
|
36
36
|
mod 'puppetlabs-azure_inventory', '0.5.0'
|
|
37
37
|
mod 'puppetlabs-gcloud_inventory', '0.3.0'
|
|
38
|
-
mod 'puppetlabs-http_request', '0.3.
|
|
38
|
+
mod 'puppetlabs-http_request', '0.3.1'
|
|
39
39
|
mod 'puppetlabs-pkcs7', '0.1.2'
|
|
40
40
|
mod 'puppetlabs-secure_env_vars', '0.2.0'
|
|
41
41
|
mod 'puppetlabs-terraform', '0.6.1'
|
|
@@ -108,11 +108,8 @@ Puppet::Functions.create_function(:run_script, Puppet::Functions::InternalFuncti
|
|
|
108
108
|
# Send Analytics Report
|
|
109
109
|
executor.report_function_call(self.class.name)
|
|
110
110
|
|
|
111
|
-
future = executor&.future || {}
|
|
112
|
-
fallback = future.fetch('file_paths', false)
|
|
113
|
-
|
|
114
111
|
# Find the file path if it exists, otherwise return nil
|
|
115
|
-
found = Bolt::Util.find_file_from_scope(script, scope
|
|
112
|
+
found = Bolt::Util.find_file_from_scope(script, scope)
|
|
116
113
|
unless found && Puppet::FileSystem.exist?(found)
|
|
117
114
|
raise Puppet::ParseErrorWithIssue.from_issue_and_stack(
|
|
118
115
|
Puppet::Pops::Issues::NO_SUCH_FILE_OR_DIRECTORY, file: script
|
|
@@ -70,11 +70,8 @@ Puppet::Functions.create_function(:upload_file, Puppet::Functions::InternalFunct
|
|
|
70
70
|
# Send Analytics Report
|
|
71
71
|
executor.report_function_call(self.class.name)
|
|
72
72
|
|
|
73
|
-
future = executor&.future || {}
|
|
74
|
-
fallback = future.fetch('file_paths', false)
|
|
75
|
-
|
|
76
73
|
# Find the file path if it exists, otherwise return nil
|
|
77
|
-
found = Bolt::Util.find_file_from_scope(source, scope
|
|
74
|
+
found = Bolt::Util.find_file_from_scope(source, scope)
|
|
78
75
|
unless found && Puppet::FileSystem.exist?(found)
|
|
79
76
|
raise Puppet::ParseErrorWithIssue.from_issue_and_stack(
|
|
80
77
|
Puppet::Pops::Issues::NO_SUCH_FILE_OR_DIRECTORY, file: source
|
|
@@ -21,11 +21,8 @@ Puppet::Functions.create_function(:'file::exists', Puppet::Functions::InternalFu
|
|
|
21
21
|
executor = Puppet.lookup(:bolt_executor) {}
|
|
22
22
|
executor&.report_function_call(self.class.name)
|
|
23
23
|
|
|
24
|
-
future = executor&.future || Puppet.lookup(:future) { {} }
|
|
25
|
-
fallback = future.fetch('file_paths', false)
|
|
26
|
-
|
|
27
24
|
# Find the file path if it exists, otherwise return nil
|
|
28
|
-
found = Bolt::Util.find_file_from_scope(filename, scope
|
|
25
|
+
found = Bolt::Util.find_file_from_scope(filename, scope)
|
|
29
26
|
found ? Puppet::FileSystem.exist?(found) : false
|
|
30
27
|
end
|
|
31
28
|
end
|
|
@@ -20,11 +20,8 @@ Puppet::Functions.create_function(:'file::read', Puppet::Functions::InternalFunc
|
|
|
20
20
|
executor = Puppet.lookup(:bolt_executor) {}
|
|
21
21
|
executor&.report_function_call(self.class.name)
|
|
22
22
|
|
|
23
|
-
future = executor&.future || Puppet.lookup(:future) { {} }
|
|
24
|
-
fallback = future.fetch('file_paths', false)
|
|
25
|
-
|
|
26
23
|
# Find the file path if it exists, otherwise return nil
|
|
27
|
-
found = Bolt::Util.find_file_from_scope(filename, scope
|
|
24
|
+
found = Bolt::Util.find_file_from_scope(filename, scope)
|
|
28
25
|
unless found && Puppet::FileSystem.exist?(found)
|
|
29
26
|
raise Puppet::ParseErrorWithIssue.from_issue_and_stack(
|
|
30
27
|
Puppet::Pops::Issues::NO_SUCH_FILE_OR_DIRECTORY, file: filename
|
|
@@ -21,11 +21,8 @@ Puppet::Functions.create_function(:'file::readable', Puppet::Functions::Internal
|
|
|
21
21
|
executor = Puppet.lookup(:bolt_executor) {}
|
|
22
22
|
executor&.report_function_call(self.class.name)
|
|
23
23
|
|
|
24
|
-
future = executor&.future || Puppet.lookup(:future) { {} }
|
|
25
|
-
fallback = future.fetch('file_paths', false)
|
|
26
|
-
|
|
27
24
|
# Find the file path if it exists, otherwise return nil
|
|
28
|
-
found = Bolt::Util.find_file_from_scope(filename, scope
|
|
25
|
+
found = Bolt::Util.find_file_from_scope(filename, scope)
|
|
29
26
|
found ? File.readable?(found) : false
|
|
30
27
|
end
|
|
31
28
|
end
|
data/lib/bolt/analytics.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
require_relative '../bolt/util'
|
|
4
|
+
require_relative '../bolt/version'
|
|
5
5
|
require 'find'
|
|
6
6
|
require 'json'
|
|
7
7
|
require 'logging'
|
|
@@ -30,7 +30,6 @@ module Bolt
|
|
|
30
30
|
}.freeze
|
|
31
31
|
|
|
32
32
|
def self.build_client(enabled = true)
|
|
33
|
-
logger = Bolt::Logger.logger(self)
|
|
34
33
|
begin
|
|
35
34
|
config_file = config_path
|
|
36
35
|
config = enabled ? load_config(config_file) : {}
|
|
@@ -39,7 +38,7 @@ module Bolt
|
|
|
39
38
|
end
|
|
40
39
|
|
|
41
40
|
if !enabled || config['disabled'] || ENV['BOLT_DISABLE_ANALYTICS']
|
|
42
|
-
|
|
41
|
+
Bolt::Logger.debug "Analytics opt-out is set, analytics will be disabled"
|
|
43
42
|
NoopClient.new
|
|
44
43
|
else
|
|
45
44
|
unless config.key?('user-id')
|
|
@@ -50,7 +49,7 @@ module Bolt
|
|
|
50
49
|
Client.new(config['user-id'])
|
|
51
50
|
end
|
|
52
51
|
rescue StandardError => e
|
|
53
|
-
|
|
52
|
+
Bolt::Logger.debug "Failed to initialize analytics client, analytics will be disabled: #{e}"
|
|
54
53
|
NoopClient.new
|
|
55
54
|
end
|
|
56
55
|
|
|
@@ -139,18 +138,6 @@ module Bolt
|
|
|
139
138
|
end
|
|
140
139
|
end
|
|
141
140
|
|
|
142
|
-
def plan_counts(plans_path)
|
|
143
|
-
pp_count, yaml_count = if File.exist?(plans_path)
|
|
144
|
-
%w[pp yaml].map do |extension|
|
|
145
|
-
Find.find(plans_path.to_s).grep(/.*\.#{extension}/).length
|
|
146
|
-
end
|
|
147
|
-
else
|
|
148
|
-
[0, 0]
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
{ puppet_plan_count: pp_count, yaml_plan_count: yaml_count }
|
|
152
|
-
end
|
|
153
|
-
|
|
154
141
|
def event(category, action, label: nil, value: nil, **kwargs)
|
|
155
142
|
custom_dimensions = Bolt::Util.walk_keys(kwargs) do |k|
|
|
156
143
|
CUSTOM_DIMENSIONS[k] || raise("Unknown analytics key '#{k}'")
|
|
@@ -236,10 +223,6 @@ module Bolt
|
|
|
236
223
|
|
|
237
224
|
def report_bundled_content(mode, name); end
|
|
238
225
|
|
|
239
|
-
def plan_counts(_)
|
|
240
|
-
{}
|
|
241
|
-
end
|
|
242
|
-
|
|
243
226
|
def event(category, action, **_kwargs)
|
|
244
227
|
@logger.trace "Skipping submission of '#{category} #{action}' event because analytics is disabled"
|
|
245
228
|
end
|