r10k 3.15.4 → 4.0.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +17 -0
- data/.github/workflows/docker.yml +4 -4
- data/.github/workflows/release.yml +2 -2
- data/.github/workflows/rspec_tests.yml +7 -11
- data/.github/workflows/stale.yml +1 -1
- data/CHANGELOG.mkd +19 -0
- data/Gemfile +2 -2
- data/README.mkd +3 -3
- data/doc/dynamic-environments/configuration.mkd +13 -1
- data/doc/puppetfile.mkd +9 -3
- data/integration/files/pre-suite/git_config.pp.erb +1 -1
- data/integration/pre-suite/10_git_config.rb +0 -3
- data/integration/tests/Puppetfile/HTTP_PROXY_affects_git_source.rb +5 -4
- data/integration/tests/basic_functionality/proxy_specified_in_configuration.rb +1 -1
- data/integration/tests/basic_functionality/proxy_with_puppetfile.rb +1 -1
- data/integration/tests/command_line/deploy_env_without_mod_update.rb +0 -3
- data/integration/tests/command_line/negative/neg_deploy_env_with_module_update.rb +0 -3
- data/integration/tests/git_source/HTTP_proxy_and_git_source.rb +5 -10
- data/integration/tests/git_source/git_source_git.rb +0 -3
- data/integration/tests/git_source/git_source_repeated_remote.rb +0 -3
- data/integration/tests/git_source/negative/neg_git_unauthorized_ssh.rb +1 -1
- data/integration/tests/purging/content_not_purged_at_root.rb +0 -3
- data/integration/tests/purging/default_purging.rb +0 -3
- data/integration/tests/purging/{does_not_purge_files_on_white_list.rb → does_not_purge_files_on_allowlist.rb} +2 -5
- data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/multi_source_custom_forge_git_module.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/negative/neg_bad_forge_module.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/negative/neg_duplicate_module_names.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/negative/neg_inaccessible_forge.rb +3 -2
- data/integration/tests/user_scenario/basic_workflow/negative/neg_specify_deleted_forge_module.rb +1 -5
- data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_git_module.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_module.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/single_env_module_already_installed.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/single_env_purge_unmanaged_modules.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/single_env_switch_forge_git_module.rb +0 -3
- data/integration/tests/user_scenario/basic_workflow/single_env_upgrade_forge_mod_revert_change.rb +0 -3
- data/integration/tests/user_scenario/complex_workflow/multi_env_add_change_remove.rb +0 -3
- data/lib/r10k/action/deploy/environment.rb +2 -19
- data/lib/r10k/action/deploy/module.rb +1 -0
- data/lib/r10k/action/puppetfile/check.rb +7 -0
- data/lib/r10k/action/puppetfile/install.rb +1 -0
- data/lib/r10k/cli/deploy.rb +15 -1
- data/lib/r10k/content_synchronizer.rb +7 -2
- data/lib/r10k/environment.rb +0 -1
- data/lib/r10k/git/rugged/bare_repository.rb +4 -3
- data/lib/r10k/git/rugged/working_repository.rb +7 -5
- data/lib/r10k/git/shellgit/working_repository.rb +1 -1
- data/lib/r10k/git/stateful_repository.rb +2 -2
- data/lib/r10k/module/base.rb +3 -3
- data/lib/r10k/module/git.rb +13 -4
- data/lib/r10k/module_loader/puppetfile.rb +0 -7
- data/lib/r10k/puppetfile.rb +1 -1
- data/lib/r10k/settings.rb +6 -7
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +10 -6
- data/r10k.gemspec +4 -6
- metadata +18 -76
- data/docker/.gitignore +0 -1
- data/docker/.rspec +0 -4
- data/docker/Gemfile +0 -11
- data/docker/Makefile +0 -99
- data/docker/README.md +0 -28
- data/docker/docker-compose.yml +0 -18
- data/docker/r10k/Dockerfile +0 -68
- data/docker/r10k/adduser.sh +0 -13
- data/docker/r10k/docker-entrypoint.d/10-analytics.sh +0 -30
- data/docker/r10k/docker-entrypoint.sh +0 -10
- data/docker/r10k/release.Dockerfile +0 -55
- data/docker/spec/dockerfile_spec.rb +0 -37
- data/docker/spec/fixtures/Puppetfile +0 -2
- data/integration/tests/basic_functionality/install_pe_only_module_with_puppetfile.rb +0 -83
- data/integration/tests/basic_functionality/proxy_with_pe_only_module.rb +0 -128
- data/integration/tests/purging/invalid_whitelist_types.rb +0 -63
- data/integration/tests/user_scenario/basic_workflow/negative/neg_module_specified_at_deleted_release.rb +0 -49
- data/integration/tests/user_scenario/basic_workflow/single_env_module_last_release_deleted.rb +0 -68
- data/lib/r10k/environment/bare.rb +0 -13
@@ -45,6 +45,7 @@ module R10K
|
|
45
45
|
incremental: @incremental
|
46
46
|
},
|
47
47
|
modules: {
|
48
|
+
default_ref: settings.dig(:git, :default_ref),
|
48
49
|
exclude_spec: settings.dig(:deploy, :exclude_spec),
|
49
50
|
requested_modules: [],
|
50
51
|
deploy_modules: @modules,
|
@@ -53,8 +54,7 @@ module R10K
|
|
53
54
|
},
|
54
55
|
purging: {
|
55
56
|
purge_levels: settings.dig(:deploy, :purge_levels) || [],
|
56
|
-
purge_allowlist:
|
57
|
-
settings.dig(:deploy, :purge_allowlist) || [])
|
57
|
+
purge_allowlist: settings.dig(:deploy, :purge_allowlist) || []
|
58
58
|
},
|
59
59
|
forge: {
|
60
60
|
allow_puppetfile_override: settings.dig(:forge, :allow_puppetfile_override) || false
|
@@ -83,23 +83,6 @@ module R10K
|
|
83
83
|
|
84
84
|
private
|
85
85
|
|
86
|
-
def read_purge_allowlist (whitelist, allowlist)
|
87
|
-
whitelist_has_content = !whitelist.empty?
|
88
|
-
allowlist_has_content = !allowlist.empty?
|
89
|
-
case
|
90
|
-
when whitelist_has_content == false && allowlist_has_content == false
|
91
|
-
[]
|
92
|
-
when whitelist_has_content && allowlist_has_content
|
93
|
-
raise R10K::Error.new "Values found for both purge_whitelist and purge_allowlist. Setting " <<
|
94
|
-
"purge_whitelist is deprecated, please only use purge_allowlist."
|
95
|
-
when allowlist_has_content
|
96
|
-
allowlist
|
97
|
-
else
|
98
|
-
logger.warn "Setting purge_whitelist is deprecated; please use purge_allowlist instead."
|
99
|
-
whitelist
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
86
|
def visit_deployment(deployment)
|
104
87
|
# Ensure that everything can be preloaded. If we cannot preload all
|
105
88
|
# sources then we can't fully enumerate all environments which
|
@@ -9,12 +9,19 @@ module R10K
|
|
9
9
|
|
10
10
|
def call
|
11
11
|
options = { basedir: @root }
|
12
|
+
options[:overrides] = {}
|
13
|
+
options[:overrides][:modules] = { default_ref: @settings.dig(:git, :default_ref) }
|
12
14
|
options[:moduledir] = @moduledir if @moduledir
|
13
15
|
options[:puppetfile] = @puppetfile if @puppetfile
|
14
16
|
|
15
17
|
loader = R10K::ModuleLoader::Puppetfile.new(**options)
|
16
18
|
begin
|
17
19
|
loader.load!
|
20
|
+
loader.modules.each do |mod|
|
21
|
+
if mod.instance_of?(R10K::Module::Git)
|
22
|
+
mod.validate_ref_defined
|
23
|
+
end
|
24
|
+
end
|
18
25
|
$stderr.puts _("Syntax OK")
|
19
26
|
true
|
20
27
|
rescue => e
|
@@ -12,6 +12,7 @@ module R10K
|
|
12
12
|
def call
|
13
13
|
begin
|
14
14
|
options = { basedir: @root, overrides: { force: @force || false } }
|
15
|
+
options[:overrides][:modules] = { default_ref: @settings.dig(:git, :default_ref) }
|
15
16
|
options[:moduledir] = @moduledir if @moduledir
|
16
17
|
options[:puppetfile] = @puppetfile if @puppetfile
|
17
18
|
options[:module_exclude_regex] = @module_exclude_regex if @module_exclude_regex
|
data/lib/r10k/cli/deploy.rb
CHANGED
@@ -10,6 +10,19 @@ require 'cri'
|
|
10
10
|
|
11
11
|
module R10K::CLI
|
12
12
|
module Deploy
|
13
|
+
|
14
|
+
class TransformExcludeSpec
|
15
|
+
def call(input)
|
16
|
+
# To be backward compatible with the 3.x flag version of this setting,
|
17
|
+
# r10k allows this flag to have an optional argument. When no argument
|
18
|
+
# is supplied, cri defaults to setting the class to true, so we check
|
19
|
+
# for TrueClass here as well as "true".
|
20
|
+
return true if input == true || input == 'true'
|
21
|
+
return false if input == 'false'
|
22
|
+
raise ArgumentError
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
13
26
|
def self.command
|
14
27
|
@cmd ||= Cri::Command.define do
|
15
28
|
name 'deploy'
|
@@ -24,7 +37,8 @@ module R10K::CLI
|
|
24
37
|
option nil, :cachedir, 'Specify a cachedir, overriding the value in config', argument: :required
|
25
38
|
flag nil, :'no-force', 'Prevent the overwriting of local module modifications'
|
26
39
|
flag nil, :'generate-types', 'Run `puppet generate types` after updating an environment'
|
27
|
-
|
40
|
+
option nil, :'exclude-spec', 'Exclude the module\'s spec dir for deployment', argument: :optional,
|
41
|
+
transform: TransformExcludeSpec.new
|
28
42
|
option nil, :'puppet-path', 'Path to puppet executable', argument: :required do |value, cmd|
|
29
43
|
unless File.executable? value
|
30
44
|
$stderr.puts "The specified puppet executable #{value} is not executable."
|
@@ -79,8 +79,13 @@ module R10K
|
|
79
79
|
begin
|
80
80
|
while mods = mods_queue.pop(true) do
|
81
81
|
mods.each do |mod|
|
82
|
-
|
83
|
-
|
82
|
+
begin
|
83
|
+
updated = mod.sync
|
84
|
+
updated_modules << mod.name if updated
|
85
|
+
rescue Exception => e
|
86
|
+
logger.error _("Module %{mod_name} failed to synchronize due to %{message}") % {mod_name: mod.name, message: e.message}
|
87
|
+
raise e
|
88
|
+
end
|
84
89
|
end
|
85
90
|
end
|
86
91
|
rescue ThreadError => e
|
data/lib/r10k/environment.rb
CHANGED
@@ -31,7 +31,6 @@ module R10K
|
|
31
31
|
require 'r10k/environment/base'
|
32
32
|
require 'r10k/environment/with_modules'
|
33
33
|
require 'r10k/environment/plain'
|
34
|
-
require 'r10k/environment/bare'
|
35
34
|
require 'r10k/environment/git'
|
36
35
|
require 'r10k/environment/svn'
|
37
36
|
require 'r10k/environment/tarball'
|
@@ -56,11 +56,12 @@ class R10K::Git::Rugged::BareRepository < R10K::Git::Rugged::BaseRepository
|
|
56
56
|
logger.warn { _("Rugged versions prior to 0.24.0 do not support pruning stale branches during fetch, please upgrade your \'rugged\' gem. (Current version is: %{version})") % {version: Rugged::Version} }
|
57
57
|
end
|
58
58
|
|
59
|
-
options = {:credentials => credentials, :prune => true}
|
60
|
-
refspecs = ['+refs/*:refs/*']
|
61
|
-
|
62
59
|
remote = remotes[remote_name]
|
63
60
|
proxy = R10K::Git.get_proxy_for_remote(remote)
|
61
|
+
|
62
|
+
options = {:credentials => credentials, :prune => true, :proxy_url => proxy}
|
63
|
+
refspecs = ['+refs/*:refs/*']
|
64
|
+
|
64
65
|
results = nil
|
65
66
|
|
66
67
|
R10K::Git.with_proxy(proxy) do
|
@@ -27,6 +27,7 @@ class R10K::Git::Rugged::WorkingRepository < R10K::Git::Rugged::BaseRepository
|
|
27
27
|
def clone(remote, opts = {})
|
28
28
|
logger.debug1 { _("Cloning '%{remote}' into %{path}") % {remote: remote, path: @path } }
|
29
29
|
|
30
|
+
proxy = R10K::Git.get_proxy_for_remote(remote)
|
30
31
|
# libgit2/rugged doesn't support cloning a repository and providing an
|
31
32
|
# alternate object database, making the handling of :alternates a noop.
|
32
33
|
# Unfortunately this means that this method can't really use alternates
|
@@ -34,10 +35,9 @@ class R10K::Git::Rugged::WorkingRepository < R10K::Git::Rugged::BaseRepository
|
|
34
35
|
# repository. However alternate databases can be handled when an existing
|
35
36
|
# repository is loaded, so loading a cloned repo will correctly use
|
36
37
|
# alternate object database.
|
37
|
-
options = {:credentials => credentials}
|
38
|
+
options = {:credentials => credentials, :proxy_url => proxy}
|
38
39
|
options.merge!(:alternates => [File.join(opts[:reference], 'objects')]) if opts[:reference]
|
39
40
|
|
40
|
-
proxy = R10K::Git.get_proxy_for_remote(remote)
|
41
41
|
|
42
42
|
R10K::Git.with_proxy(proxy) do
|
43
43
|
@_rugged_repo = ::Rugged::Repository.clone_at(remote, @path.to_s, options)
|
@@ -85,11 +85,13 @@ class R10K::Git::Rugged::WorkingRepository < R10K::Git::Rugged::BaseRepository
|
|
85
85
|
|
86
86
|
def fetch(remote_name = 'origin')
|
87
87
|
logger.debug1 { _("Fetching remote '%{remote}' at %{path}") % {remote: remote_name, path: @path} }
|
88
|
-
options = {:credentials => credentials}
|
89
|
-
refspecs = ["+refs/heads/*:refs/remotes/#{remote_name}/*"]
|
90
88
|
|
91
89
|
remote = remotes[remote_name]
|
92
90
|
proxy = R10K::Git.get_proxy_for_remote(remote)
|
91
|
+
|
92
|
+
options = {:credentials => credentials, :proxy_url => proxy}
|
93
|
+
refspecs = ["+refs/heads/*:refs/remotes/#{remote_name}/*"]
|
94
|
+
|
93
95
|
results = nil
|
94
96
|
|
95
97
|
R10K::Git.with_proxy(proxy) do
|
@@ -117,7 +119,7 @@ class R10K::Git::Rugged::WorkingRepository < R10K::Git::Rugged::BaseRepository
|
|
117
119
|
with_repo { |repo| repo.config['remote.origin.url'] }
|
118
120
|
end
|
119
121
|
|
120
|
-
def dirty?(exclude_spec=
|
122
|
+
def dirty?(exclude_spec=true)
|
121
123
|
with_repo do |repo|
|
122
124
|
if exclude_spec
|
123
125
|
diff = repo.diff_workdir('HEAD').select { |d| ! d.delta.old_file[:path].start_with?('spec/') }
|
@@ -90,7 +90,7 @@ class R10K::Git::ShellGit::WorkingRepository < R10K::Git::ShellGit::BaseReposito
|
|
90
90
|
end
|
91
91
|
|
92
92
|
# does the working tree have local modifications to tracked files?
|
93
|
-
def dirty?(exclude_spec=
|
93
|
+
def dirty?(exclude_spec=true)
|
94
94
|
result = git(['diff-index', '--exit-code', '--name-only', 'HEAD'], :path => @path.to_s, :raise_on_fail => false)
|
95
95
|
|
96
96
|
if result.exit_code != 0
|
@@ -36,7 +36,7 @@ class R10K::Git::StatefulRepository
|
|
36
36
|
end
|
37
37
|
|
38
38
|
# Returns true if the sync actually updated the repo, false otherwise
|
39
|
-
def sync(ref, force=true, exclude_spec=
|
39
|
+
def sync(ref, force=true, exclude_spec=true)
|
40
40
|
@cache.sync if sync_cache?(ref)
|
41
41
|
|
42
42
|
sha = @cache.resolve(ref)
|
@@ -75,7 +75,7 @@ class R10K::Git::StatefulRepository
|
|
75
75
|
updated
|
76
76
|
end
|
77
77
|
|
78
|
-
def status(ref, exclude_spec=
|
78
|
+
def status(ref, exclude_spec=true)
|
79
79
|
if !@repo.exist?
|
80
80
|
:absent
|
81
81
|
elsif !@cache.exist?
|
data/lib/r10k/module/base.rb
CHANGED
@@ -60,8 +60,8 @@ class R10K::Module::Base
|
|
60
60
|
@environment = environment
|
61
61
|
@overrides = args.delete(:overrides) || {}
|
62
62
|
@spec_deletable = true
|
63
|
-
@exclude_spec =
|
64
|
-
@exclude_spec = @overrides.dig(:modules, :exclude_spec)
|
63
|
+
@exclude_spec = true
|
64
|
+
@exclude_spec = @overrides.dig(:modules, :exclude_spec) unless @overrides.dig(:modules, :exclude_spec).nil?
|
65
65
|
if args.has_key?(:exclude_spec)
|
66
66
|
logger.debug2 _("Overriding :exclude_spec setting with per module setting for #{@title}")
|
67
67
|
@exclude_spec = args.delete(:exclude_spec)
|
@@ -78,7 +78,7 @@ class R10K::Module::Base
|
|
78
78
|
path.to_s
|
79
79
|
end
|
80
80
|
|
81
|
-
# Delete the spec dir if @exclude_spec
|
81
|
+
# Delete the spec dir if @exclude_spec is true and @spec_deletable is also true
|
82
82
|
def maybe_delete_spec_dir
|
83
83
|
if @exclude_spec
|
84
84
|
if @spec_deletable
|
data/lib/r10k/module/git.rb
CHANGED
@@ -63,15 +63,14 @@ class R10K::Module::Git < R10K::Module::Base
|
|
63
63
|
:commit => :desired_ref,
|
64
64
|
:ref => :desired_ref,
|
65
65
|
:git => :remote,
|
66
|
-
:default_branch => :
|
66
|
+
:default_branch => :default_branch,
|
67
67
|
:default_branch_override => :default_override_ref,
|
68
68
|
}, :raise_on_unhandled => false)
|
69
69
|
|
70
|
+
@default_ref = @default_branch.nil? ? @overrides.dig(:modules, :default_ref) : @default_branch
|
70
71
|
force = @overrides[:force]
|
71
72
|
@force = force == false ? false : true
|
72
73
|
|
73
|
-
@desired_ref ||= 'master'
|
74
|
-
|
75
74
|
if @desired_ref == :control_branch
|
76
75
|
if @environment && @environment.respond_to?(:ref)
|
77
76
|
@desired_ref = @environment.ref
|
@@ -116,6 +115,14 @@ class R10K::Module::Git < R10K::Module::Base
|
|
116
115
|
@repo.cache.sanitized_dirname
|
117
116
|
end
|
118
117
|
|
118
|
+
def validate_ref_defined
|
119
|
+
if @desired_ref.nil? && @default_ref.nil? && @default_override_ref.nil?
|
120
|
+
msg = "No ref defined for module #{@name}. Add a ref to the module definition "
|
121
|
+
msg << "or set git:default_ref in the r10k.yaml config to configure a global default ref."
|
122
|
+
raise ArgumentError, msg
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
119
126
|
private
|
120
127
|
|
121
128
|
def validate_ref(desired, default, default_override)
|
@@ -147,7 +154,9 @@ class R10K::Module::Git < R10K::Module::Base
|
|
147
154
|
msg << "or resolve default ref '%{default}'"
|
148
155
|
vars[:default] = default
|
149
156
|
else
|
150
|
-
msg << "and no default provided"
|
157
|
+
msg << "and no default provided. r10k no longer hardcodes 'master' as the default ref."
|
158
|
+
msg << "Consider setting a ref per module in the Puppetfile or setting git:default_ref"
|
159
|
+
msg << "in your r10k config."
|
151
160
|
end
|
152
161
|
|
153
162
|
raise ArgumentError, _(msg.join(' ')) % vars
|
@@ -175,13 +175,6 @@ module R10K
|
|
175
175
|
@modules << mod
|
176
176
|
end
|
177
177
|
|
178
|
-
# @deprecated
|
179
|
-
# @return [String] The base directory that contains the Puppetfile
|
180
|
-
def basedir
|
181
|
-
logger.warn _('"basedir" is deprecated. Please use "environment_name" instead. "basedir" will be removed in a future version.')
|
182
|
-
@basedir
|
183
|
-
end
|
184
|
-
|
185
178
|
private
|
186
179
|
|
187
180
|
def empty_load_output
|
data/lib/r10k/puppetfile.rb
CHANGED
@@ -72,7 +72,7 @@ class Puppetfile
|
|
72
72
|
@overrides = options.delete(:overrides) || {}
|
73
73
|
@default_branch_override = @overrides.dig(:environments, :default_branch_override)
|
74
74
|
|
75
|
-
@forge = 'forgeapi.
|
75
|
+
@forge = 'forgeapi.puppet.com'
|
76
76
|
|
77
77
|
@loader = ::R10K::ModuleLoader::Puppetfile.new(
|
78
78
|
basedir: @basedir,
|
data/lib/r10k/settings.rb
CHANGED
@@ -19,6 +19,10 @@ module R10K
|
|
19
19
|
def self.git_settings
|
20
20
|
R10K::Settings::Collection.new(:git, [
|
21
21
|
|
22
|
+
Definition.new(:default_ref, {
|
23
|
+
:desc => "User-defined default ref from which to deploy modules when not otherwise specified; nil unless configured via the r10k.yaml config.",
|
24
|
+
:default => nil}),
|
25
|
+
|
22
26
|
EnumDefinition.new(:provider, {
|
23
27
|
:desc => "The Git provider to use. Valid values: 'shellgit', 'rugged'",
|
24
28
|
:normalize => lambda { |input| input.to_sym },
|
@@ -175,11 +179,6 @@ module R10K
|
|
175
179
|
:default => [],
|
176
180
|
}),
|
177
181
|
|
178
|
-
Definition.new(:purge_whitelist, {
|
179
|
-
:desc => "Deprecated; please use purge_allowlist instead. This setting will be removed in a future version.",
|
180
|
-
:default => [],
|
181
|
-
}),
|
182
|
-
|
183
182
|
Definition.new(:generate_types, {
|
184
183
|
:desc => "Controls whether to generate puppet types after deploying an environment. Defaults to false.",
|
185
184
|
:default => false,
|
@@ -207,8 +206,8 @@ module R10K
|
|
207
206
|
end
|
208
207
|
}),
|
209
208
|
Definition.new(:exclude_spec, {
|
210
|
-
:desc => "Whether or not to deploy the spec dir of a module. Defaults to
|
211
|
-
:default =>
|
209
|
+
:desc => "Whether or not to deploy the spec dir of a module. Defaults to true.",
|
210
|
+
:default => true,
|
212
211
|
:validate => lambda do |value|
|
213
212
|
unless !!value == value
|
214
213
|
raise ArgumentError, "`exclude_spec` can only be a boolean value, not '#{value}'"
|
data/lib/r10k/version.rb
CHANGED
@@ -2,5 +2,5 @@ module R10K
|
|
2
2
|
# When updating to a new major (X) or minor (Y) version, include `#major` or
|
3
3
|
# `#minor` (respectively) in your commit message to trigger the appropriate
|
4
4
|
# release. Otherwise, a new patch (Z) version will be released.
|
5
|
-
VERSION = '
|
5
|
+
VERSION = '4.0.0.pre'
|
6
6
|
end
|
data/locales/r10k.pot
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
# SOME DESCRIPTIVE TITLE.
|
2
|
-
# Copyright (C)
|
2
|
+
# Copyright (C) 2023 Puppet, Inc.
|
3
3
|
# This file is distributed under the same license as the r10k package.
|
4
|
-
# FIRST AUTHOR <EMAIL@ADDRESS>,
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
|
5
5
|
#
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: r10k 3.9.3-
|
9
|
+
"Project-Id-Version: r10k 3.9.3-289-g2f5deb72\n"
|
10
10
|
"\n"
|
11
11
|
"Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
|
12
|
-
"POT-Creation-Date:
|
13
|
-
"PO-Revision-Date:
|
12
|
+
"POT-Creation-Date: 2023-06-27 17:39+0000\n"
|
13
|
+
"PO-Revision-Date: 2023-06-27 17:39+0000\n"
|
14
14
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
15
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
16
|
"Language: \n"
|
@@ -95,7 +95,11 @@ msgstr ""
|
|
95
95
|
msgid "Error during concurrent deploy of a module: %{message}"
|
96
96
|
msgstr ""
|
97
97
|
|
98
|
-
#: ../lib/r10k/content_synchronizer.rb:
|
98
|
+
#: ../lib/r10k/content_synchronizer.rb:86
|
99
|
+
msgid "Module %{mod_name} failed to synchronize due to %{message}"
|
100
|
+
msgstr ""
|
101
|
+
|
102
|
+
#: ../lib/r10k/content_synchronizer.rb:92
|
99
103
|
msgid "Module thread %{id} exiting: %{message}"
|
100
104
|
msgstr ""
|
101
105
|
|
data/r10k.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
dynamic environments.
|
19
19
|
DESCRIPTION
|
20
20
|
|
21
|
-
s.required_ruby_version = '>= 2.
|
21
|
+
s.required_ruby_version = '>= 2.6.0'
|
22
22
|
|
23
23
|
s.license = 'Apache-2.0'
|
24
24
|
|
@@ -28,13 +28,11 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.add_dependency 'log4r', '1.1.10'
|
29
29
|
s.add_dependency 'multi_json', '~> 1.10'
|
30
30
|
|
31
|
-
s.add_dependency 'puppet_forge',
|
31
|
+
s.add_dependency 'puppet_forge', '>= 4.1', '< 6'
|
32
32
|
|
33
|
-
s.add_dependency 'gettext-setup',
|
34
|
-
s.add_dependency 'fast_gettext', ['>= 1.1.0', '< 3.0.0']
|
35
|
-
s.add_dependency 'gettext', ['>= 3.0.2', '< 4.0.0']
|
33
|
+
s.add_dependency 'gettext-setup', '~>0.24'
|
36
34
|
|
37
|
-
s.add_dependency 'jwt', '
|
35
|
+
s.add_dependency 'jwt', '>= 2.2.3', '< 2.8.0'
|
38
36
|
s.add_dependency 'minitar', '~> 0.9'
|
39
37
|
|
40
38
|
s.add_development_dependency 'rspec', '~> 3.1'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r10k
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|
@@ -72,94 +72,54 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '4.1'
|
76
76
|
- - "<"
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
78
|
+
version: '6'
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
83
|
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
85
|
+
version: '4.1'
|
86
86
|
- - "<"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
88
|
+
version: '6'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: gettext-setup
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- - "
|
93
|
+
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: '0.24'
|
96
|
-
- - "<"
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: 2.0.0
|
99
96
|
type: :runtime
|
100
97
|
prerelease: false
|
101
98
|
version_requirements: !ruby/object:Gem::Requirement
|
102
99
|
requirements:
|
103
|
-
- - "
|
100
|
+
- - "~>"
|
104
101
|
- !ruby/object:Gem::Version
|
105
102
|
version: '0.24'
|
106
|
-
- - "<"
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: 2.0.0
|
109
103
|
- !ruby/object:Gem::Dependency
|
110
|
-
name:
|
111
|
-
requirement: !ruby/object:Gem::Requirement
|
112
|
-
requirements:
|
113
|
-
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: 1.1.0
|
116
|
-
- - "<"
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 3.0.0
|
119
|
-
type: :runtime
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - ">="
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 1.1.0
|
126
|
-
- - "<"
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: 3.0.0
|
129
|
-
- !ruby/object:Gem::Dependency
|
130
|
-
name: gettext
|
104
|
+
name: jwt
|
131
105
|
requirement: !ruby/object:Gem::Requirement
|
132
106
|
requirements:
|
133
107
|
- - ">="
|
134
108
|
- !ruby/object:Gem::Version
|
135
|
-
version:
|
109
|
+
version: 2.2.3
|
136
110
|
- - "<"
|
137
111
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
112
|
+
version: 2.8.0
|
139
113
|
type: :runtime
|
140
114
|
prerelease: false
|
141
115
|
version_requirements: !ruby/object:Gem::Requirement
|
142
116
|
requirements:
|
143
117
|
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: 3.0.2
|
146
|
-
- - "<"
|
147
|
-
- !ruby/object:Gem::Version
|
148
|
-
version: 4.0.0
|
149
|
-
- !ruby/object:Gem::Dependency
|
150
|
-
name: jwt
|
151
|
-
requirement: !ruby/object:Gem::Requirement
|
152
|
-
requirements:
|
153
|
-
- - "~>"
|
154
118
|
- !ruby/object:Gem::Version
|
155
119
|
version: 2.2.3
|
156
|
-
|
157
|
-
prerelease: false
|
158
|
-
version_requirements: !ruby/object:Gem::Requirement
|
159
|
-
requirements:
|
160
|
-
- - "~>"
|
120
|
+
- - "<"
|
161
121
|
- !ruby/object:Gem::Version
|
162
|
-
version: 2.
|
122
|
+
version: 2.8.0
|
163
123
|
- !ruby/object:Gem::Dependency
|
164
124
|
name: minitar
|
165
125
|
requirement: !ruby/object:Gem::Requirement
|
@@ -227,6 +187,7 @@ extensions: []
|
|
227
187
|
extra_rdoc_files: []
|
228
188
|
files:
|
229
189
|
- ".gitattributes"
|
190
|
+
- ".github/dependabot.yml"
|
230
191
|
- ".github/pull_request_template.md"
|
231
192
|
- ".github/workflows/docker.yml"
|
232
193
|
- ".github/workflows/release.yml"
|
@@ -256,19 +217,6 @@ files:
|
|
256
217
|
- doc/git/providers.mkd
|
257
218
|
- doc/puppetfile.mkd
|
258
219
|
- doc/updating-your-puppetfile.mkd
|
259
|
-
- docker/.gitignore
|
260
|
-
- docker/.rspec
|
261
|
-
- docker/Gemfile
|
262
|
-
- docker/Makefile
|
263
|
-
- docker/README.md
|
264
|
-
- docker/docker-compose.yml
|
265
|
-
- docker/r10k/Dockerfile
|
266
|
-
- docker/r10k/adduser.sh
|
267
|
-
- docker/r10k/docker-entrypoint.d/10-analytics.sh
|
268
|
-
- docker/r10k/docker-entrypoint.sh
|
269
|
-
- docker/r10k/release.Dockerfile
|
270
|
-
- docker/spec/dockerfile_spec.rb
|
271
|
-
- docker/spec/fixtures/Puppetfile
|
272
220
|
- integration/Gemfile
|
273
221
|
- integration/README.mkd
|
274
222
|
- integration/Rakefile
|
@@ -295,13 +243,11 @@ files:
|
|
295
243
|
- integration/tests/Puppetfile/HTTP_PROXY_affects_git_source.rb
|
296
244
|
- integration/tests/README.mkd
|
297
245
|
- integration/tests/basic_functionality/basic_deployment.rb
|
298
|
-
- integration/tests/basic_functionality/install_pe_only_module_with_puppetfile.rb
|
299
246
|
- integration/tests/basic_functionality/negative/neg_deploy_with_invalid_r10k_yaml.rb
|
300
247
|
- integration/tests/basic_functionality/negative/neg_deploy_with_missing_r10k_yaml.rb
|
301
248
|
- integration/tests/basic_functionality/negative/neg_invalid_git_provider.rb
|
302
249
|
- integration/tests/basic_functionality/negative/negative_bad_proxy.rb
|
303
250
|
- integration/tests/basic_functionality/proxy_specified_in_configuration.rb
|
304
|
-
- integration/tests/basic_functionality/proxy_with_pe_only_module.rb
|
305
251
|
- integration/tests/basic_functionality/proxy_with_puppetfile.rb
|
306
252
|
- integration/tests/basic_functionality/rugged_git_provider_with_ssh.rb
|
307
253
|
- integration/tests/basic_functionality/rugged_git_provider_without_ssh.rb
|
@@ -320,8 +266,7 @@ files:
|
|
320
266
|
- integration/tests/i18n/deploy_module_with_unicode_in_file_name.rb
|
321
267
|
- integration/tests/purging/content_not_purged_at_root.rb
|
322
268
|
- integration/tests/purging/default_purging.rb
|
323
|
-
- integration/tests/purging/
|
324
|
-
- integration/tests/purging/invalid_whitelist_types.rb
|
269
|
+
- integration/tests/purging/does_not_purge_files_on_allowlist.rb
|
325
270
|
- integration/tests/user_scenario/basic_workflow/multi_env_1000_branches.rb
|
326
271
|
- integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb
|
327
272
|
- integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb
|
@@ -339,7 +284,6 @@ files:
|
|
339
284
|
- integration/tests/user_scenario/basic_workflow/negative/neg_inaccessible_forge.rb
|
340
285
|
- integration/tests/user_scenario/basic_workflow/negative/neg_invalid_env_name.rb
|
341
286
|
- integration/tests/user_scenario/basic_workflow/negative/neg_invalid_puppet_file.rb
|
342
|
-
- integration/tests/user_scenario/basic_workflow/negative/neg_module_specified_at_deleted_release.rb
|
343
287
|
- integration/tests/user_scenario/basic_workflow/negative/neg_read_only.rb
|
344
288
|
- integration/tests/user_scenario/basic_workflow/negative/neg_specify_deleted_forge_module.rb
|
345
289
|
- integration/tests/user_scenario/basic_workflow/single_env_10000_files.rb
|
@@ -348,7 +292,6 @@ files:
|
|
348
292
|
- integration/tests/user_scenario/basic_workflow/single_env_custom_module.rb
|
349
293
|
- integration/tests/user_scenario/basic_workflow/single_env_large_files.rb
|
350
294
|
- integration/tests/user_scenario/basic_workflow/single_env_module_already_installed.rb
|
351
|
-
- integration/tests/user_scenario/basic_workflow/single_env_module_last_release_deleted.rb
|
352
295
|
- integration/tests/user_scenario/basic_workflow/single_env_non-existent_base_dir.rb
|
353
296
|
- integration/tests/user_scenario/basic_workflow/single_env_purge_unmanaged_modules.rb
|
354
297
|
- integration/tests/user_scenario/basic_workflow/single_env_switch_forge_git_module.rb
|
@@ -383,7 +326,6 @@ files:
|
|
383
326
|
- lib/r10k/deployment.rb
|
384
327
|
- lib/r10k/deployment/config.rb
|
385
328
|
- lib/r10k/environment.rb
|
386
|
-
- lib/r10k/environment/bare.rb
|
387
329
|
- lib/r10k/environment/base.rb
|
388
330
|
- lib/r10k/environment/git.rb
|
389
331
|
- lib/r10k/environment/name.rb
|
@@ -491,12 +433,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
491
433
|
requirements:
|
492
434
|
- - ">="
|
493
435
|
- !ruby/object:Gem::Version
|
494
|
-
version: 2.
|
436
|
+
version: 2.6.0
|
495
437
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
496
438
|
requirements:
|
497
|
-
- - "
|
439
|
+
- - ">"
|
498
440
|
- !ruby/object:Gem::Version
|
499
|
-
version:
|
441
|
+
version: 1.3.1
|
500
442
|
requirements: []
|
501
443
|
rubygems_version: 3.0.3
|
502
444
|
signing_key:
|
data/docker/.gitignore
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
TEST-rspec.xml
|
data/docker/.rspec
DELETED