r10k 3.11.0 → 3.12.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/CHANGELOG.mkd +9 -0
- data/doc/dynamic-environments/configuration.mkd +7 -3
- data/doc/dynamic-environments/usage.mkd +26 -0
- data/doc/puppetfile.mkd +3 -4
- data/integration/tests/basic_functionality/basic_deployment.rb +176 -0
- data/lib/r10k/action/deploy/environment.rb +8 -1
- data/lib/r10k/action/deploy/module.rb +11 -6
- data/lib/r10k/action/puppetfile/check.rb +7 -5
- data/lib/r10k/action/puppetfile/install.rb +22 -16
- data/lib/r10k/action/puppetfile/purge.rb +12 -9
- data/lib/r10k/cli/deploy.rb +1 -0
- data/lib/r10k/cli/puppetfile.rb +0 -1
- data/lib/r10k/content_synchronizer.rb +16 -4
- data/lib/r10k/environment/base.rb +64 -11
- data/lib/r10k/environment/with_modules.rb +6 -10
- data/lib/r10k/git/stateful_repository.rb +7 -0
- data/lib/r10k/initializers.rb +1 -7
- data/lib/r10k/module/base.rb +5 -1
- data/lib/r10k/module/definition.rb +64 -0
- data/lib/r10k/module/forge.rb +10 -2
- data/lib/r10k/module/git.rb +22 -1
- data/lib/r10k/module/local.rb +2 -3
- data/lib/r10k/module/svn.rb +10 -0
- data/lib/r10k/module.rb +20 -2
- data/lib/r10k/module_loader/puppetfile/dsl.rb +8 -3
- data/lib/r10k/module_loader/puppetfile.rb +95 -29
- data/lib/r10k/puppetfile.rb +1 -2
- data/lib/r10k/settings.rb +11 -0
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +75 -47
- data/spec/fixtures/unit/puppetfile/forge-override/Puppetfile +8 -0
- data/spec/fixtures/unit/puppetfile/various-modules/Puppetfile +9 -0
- data/spec/fixtures/unit/puppetfile/various-modules/Puppetfile.new +9 -0
- data/spec/r10k-mocks/mock_env.rb +3 -0
- data/spec/r10k-mocks/mock_source.rb +7 -3
- data/spec/unit/action/deploy/environment_spec.rb +80 -30
- data/spec/unit/action/deploy/module_spec.rb +50 -62
- data/spec/unit/action/puppetfile/check_spec.rb +17 -5
- data/spec/unit/action/puppetfile/install_spec.rb +42 -36
- data/spec/unit/action/puppetfile/purge_spec.rb +15 -17
- data/spec/unit/action/runner_spec.rb +0 -8
- data/spec/unit/environment/base_spec.rb +30 -17
- data/spec/unit/environment/git_spec.rb +2 -2
- data/spec/unit/environment/svn_spec.rb +4 -3
- data/spec/unit/environment/with_modules_spec.rb +2 -1
- data/spec/unit/module/base_spec.rb +8 -8
- data/spec/unit/module/forge_spec.rb +32 -4
- data/spec/unit/module/git_spec.rb +51 -10
- data/spec/unit/module/svn_spec.rb +18 -6
- data/spec/unit/module_loader/puppetfile_spec.rb +90 -30
- data/spec/unit/puppetfile_spec.rb +2 -2
- data/spec/unit/settings_spec.rb +25 -2
- metadata +7 -2
data/lib/r10k/module/git.rb
CHANGED
@@ -13,6 +13,21 @@ class R10K::Module::Git < R10K::Module::Base
|
|
13
13
|
false
|
14
14
|
end
|
15
15
|
|
16
|
+
# Will be called if self.implement? above returns true. Will return
|
17
|
+
# the version info, if version is statically defined in the modules
|
18
|
+
# declaration.
|
19
|
+
def self.statically_defined_version(name, args)
|
20
|
+
if !args[:type] && (args[:ref] || args[:tag] || args[:commit])
|
21
|
+
if args[:ref] && args[:ref].to_s.match(/[0-9a-f]{40}/)
|
22
|
+
args[:ref]
|
23
|
+
else
|
24
|
+
args[:tag] || args[:commit]
|
25
|
+
end
|
26
|
+
elsif args[:type].to_s == 'git' && args[:version] && args[:version].to_s.match(/[0-9a-f]{40}/)
|
27
|
+
args[:version]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
16
31
|
# @!attribute [r] repo
|
17
32
|
# @api private
|
18
33
|
# @return [R10K::Git::StatefulRepository]
|
@@ -83,10 +98,16 @@ class R10K::Module::Git < R10K::Module::Base
|
|
83
98
|
end
|
84
99
|
|
85
100
|
# @param [Hash] opts Deprecated
|
101
|
+
# @return [Boolean] true if the module was updated, false otherwise
|
86
102
|
def sync(opts={})
|
87
103
|
force = opts[:force] || @force
|
88
|
-
|
104
|
+
if should_sync?
|
105
|
+
updated = @repo.sync(version, force)
|
106
|
+
else
|
107
|
+
updated = false
|
108
|
+
end
|
89
109
|
maybe_delete_spec_dir
|
110
|
+
updated
|
90
111
|
end
|
91
112
|
|
92
113
|
def status
|
data/lib/r10k/module/local.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'r10k/module'
|
2
|
-
require 'r10k/logging'
|
3
2
|
|
4
3
|
# A dummy module type that can be used to "protect" Puppet modules that exist
|
5
4
|
# inside of the Puppetfile "moduledir" location. Local modules will not be
|
@@ -12,8 +11,6 @@ class R10K::Module::Local < R10K::Module::Base
|
|
12
11
|
args.is_a?(Hash) && (args[:local] || args[:type].to_s == 'local')
|
13
12
|
end
|
14
13
|
|
15
|
-
include R10K::Logging
|
16
|
-
|
17
14
|
def version
|
18
15
|
"0.0.0"
|
19
16
|
end
|
@@ -31,7 +28,9 @@ class R10K::Module::Local < R10K::Module::Base
|
|
31
28
|
end
|
32
29
|
|
33
30
|
# @param [Hash] opts Deprecated
|
31
|
+
# @return [Boolean] false, because local modules are always considered in-sync
|
34
32
|
def sync(opts={})
|
35
33
|
logger.debug1 _("Module %{title} is a local module, always indicating synced.") % {title: title}
|
34
|
+
false
|
36
35
|
end
|
37
36
|
end
|
data/lib/r10k/module/svn.rb
CHANGED
@@ -10,6 +10,10 @@ class R10K::Module::SVN < R10K::Module::Base
|
|
10
10
|
args.has_key?(:svn) || args[:type].to_s == 'svn'
|
11
11
|
end
|
12
12
|
|
13
|
+
def self.statically_defined_version(name, args)
|
14
|
+
nil
|
15
|
+
end
|
16
|
+
|
13
17
|
# @!attribute [r] expected_revision
|
14
18
|
# @return [String] The SVN revision that the repo should have checked out
|
15
19
|
attr_reader :expected_revision
|
@@ -70,18 +74,24 @@ class R10K::Module::SVN < R10K::Module::Base
|
|
70
74
|
end
|
71
75
|
|
72
76
|
# @param [Hash] opts Deprecated
|
77
|
+
# @return [Boolean] true if the module was updated, false otherwise
|
73
78
|
def sync(opts={})
|
79
|
+
updated = false
|
74
80
|
if should_sync?
|
75
81
|
case status
|
76
82
|
when :absent
|
77
83
|
install
|
84
|
+
updated = true
|
78
85
|
when :mismatched
|
79
86
|
reinstall
|
87
|
+
updated = true
|
80
88
|
when :outdated
|
81
89
|
update
|
90
|
+
updated = true
|
82
91
|
end
|
83
92
|
maybe_delete_spec_dir
|
84
93
|
end
|
94
|
+
updated
|
85
95
|
end
|
86
96
|
|
87
97
|
def exist?
|
data/lib/r10k/module.rb
CHANGED
@@ -22,17 +22,35 @@ module R10K::Module
|
|
22
22
|
#
|
23
23
|
# @return [Object < R10K::Module] A member of the implementing subclass
|
24
24
|
def self.new(name, basedir, args, environment=nil)
|
25
|
+
with_implementation(name, args) do |implementation|
|
26
|
+
implementation.new(name, basedir, args, environment)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# Takes the same signature as Module.new but returns an metadata module
|
31
|
+
def self.from_metadata(name, basedir, args, environment=nil)
|
32
|
+
with_implementation(name, args) do |implementation|
|
33
|
+
R10K::Module::Definition.new(name,
|
34
|
+
dirname: basedir,
|
35
|
+
args: args,
|
36
|
+
implementation: implementation,
|
37
|
+
environment: environment)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.with_implementation(name, args, &block)
|
25
42
|
if implementation = @klasses.find { |klass| klass.implement?(name, args) }
|
26
|
-
|
27
|
-
obj
|
43
|
+
block.call(implementation)
|
28
44
|
else
|
29
45
|
raise _("Module %{name} with args %{args} doesn't have an implementation. (Are you using the right arguments?)") % {name: name, args: args.inspect}
|
30
46
|
end
|
31
47
|
end
|
32
48
|
|
49
|
+
|
33
50
|
require 'r10k/module/base'
|
34
51
|
require 'r10k/module/git'
|
35
52
|
require 'r10k/module/svn'
|
36
53
|
require 'r10k/module/local'
|
37
54
|
require 'r10k/module/forge'
|
55
|
+
require 'r10k/module/definition'
|
38
56
|
end
|
@@ -6,8 +6,9 @@ module R10K
|
|
6
6
|
#
|
7
7
|
# @api private
|
8
8
|
|
9
|
-
def initialize(librarian)
|
10
|
-
@librarian
|
9
|
+
def initialize(librarian, metadata_only: false)
|
10
|
+
@librarian = librarian
|
11
|
+
@metadata_only = metadata_only
|
11
12
|
end
|
12
13
|
|
13
14
|
def mod(name, args = nil)
|
@@ -17,7 +18,11 @@ module R10K
|
|
17
18
|
opts = { version: args }
|
18
19
|
end
|
19
20
|
|
20
|
-
@
|
21
|
+
if @metadata_only
|
22
|
+
@librarian.add_module_metadata(name, opts)
|
23
|
+
else
|
24
|
+
@librarian.add_module(name, opts)
|
25
|
+
end
|
21
26
|
end
|
22
27
|
|
23
28
|
def forge(location)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'r10k/logging'
|
2
|
+
require 'r10k/module'
|
2
3
|
|
3
4
|
module R10K
|
4
5
|
module ModuleLoader
|
@@ -8,7 +9,6 @@ module R10K
|
|
8
9
|
|
9
10
|
DEFAULT_MODULEDIR = 'modules'
|
10
11
|
DEFAULT_PUPPETFILE_NAME = 'Puppetfile'
|
11
|
-
DEFAULT_FORGE_API = 'forgeapi.puppetlabs.com'
|
12
12
|
|
13
13
|
attr_accessor :default_branch_override, :environment
|
14
14
|
attr_reader :modules, :moduledir, :puppetfile_path,
|
@@ -28,34 +28,40 @@ module R10K
|
|
28
28
|
def initialize(basedir:,
|
29
29
|
moduledir: DEFAULT_MODULEDIR,
|
30
30
|
puppetfile: DEFAULT_PUPPETFILE_NAME,
|
31
|
-
forge: DEFAULT_FORGE_API,
|
32
31
|
overrides: {},
|
33
32
|
environment: nil)
|
34
33
|
|
35
34
|
@basedir = cleanpath(basedir)
|
36
35
|
@moduledir = resolve_path(@basedir, moduledir)
|
37
36
|
@puppetfile_path = resolve_path(@basedir, puppetfile)
|
38
|
-
@forge = forge
|
39
37
|
@overrides = overrides
|
40
38
|
@environment = environment
|
41
39
|
@default_branch_override = @overrides.dig(:environments, :default_branch_override)
|
40
|
+
@allow_puppetfile_forge = @overrides.dig(:forge, :allow_puppetfile_override)
|
42
41
|
|
42
|
+
@existing_module_metadata = []
|
43
|
+
@existing_module_versions_by_name = {}
|
43
44
|
@modules = []
|
44
45
|
|
45
46
|
@managed_directories = []
|
46
47
|
@desired_contents = []
|
47
48
|
@purge_exclusions = []
|
49
|
+
end
|
50
|
+
|
51
|
+
def load
|
52
|
+
with_readable_puppetfile(@puppetfile_path) do
|
53
|
+
self.load!
|
54
|
+
end
|
55
|
+
end
|
48
56
|
|
57
|
+
def load!
|
49
58
|
logger.info _("Using Puppetfile '%{puppetfile}'") % {puppetfile: @puppetfile_path}
|
50
59
|
logger.debug _("Using moduledir '%{moduledir}'") % {moduledir: @moduledir}
|
51
|
-
end
|
52
60
|
|
53
|
-
def load
|
54
61
|
dsl = R10K::ModuleLoader::Puppetfile::DSL.new(self)
|
55
62
|
dsl.instance_eval(puppetfile_content(@puppetfile_path), @puppetfile_path)
|
56
63
|
|
57
64
|
validate_no_duplicate_names(@modules)
|
58
|
-
@modules
|
59
65
|
|
60
66
|
managed_content = @modules.group_by(&:dirname)
|
61
67
|
|
@@ -74,6 +80,30 @@ module R10K
|
|
74
80
|
raise R10K::Error.wrap(e, _("Failed to evaluate %{path}") % {path: @puppetfile_path})
|
75
81
|
end
|
76
82
|
|
83
|
+
def load_metadata
|
84
|
+
with_readable_puppetfile(@puppetfile_path) do
|
85
|
+
self.load_metadata!
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def load_metadata!
|
90
|
+
dsl = R10K::ModuleLoader::Puppetfile::DSL.new(self, metadata_only: true)
|
91
|
+
dsl.instance_eval(puppetfile_content(@puppetfile_path), @puppetfile_path)
|
92
|
+
|
93
|
+
@existing_module_versions_by_name = @existing_module_metadata.map {|mod| [ mod.name, mod.version ] }.to_h
|
94
|
+
empty_load_output.merge(modules: @existing_module_metadata)
|
95
|
+
|
96
|
+
rescue SyntaxError, LoadError, ArgumentError, NameError => e
|
97
|
+
logger.warn _("Unable to preload Puppetfile because of %{msg}" % { msg: e.message })
|
98
|
+
end
|
99
|
+
|
100
|
+
def add_module_metadata(name, info)
|
101
|
+
install_path, metadata_info, _ = parse_module_definition(name, info)
|
102
|
+
|
103
|
+
mod = R10K::Module.from_metadata(name, install_path, metadata_info, @environment)
|
104
|
+
|
105
|
+
@existing_module_metadata << mod
|
106
|
+
end
|
77
107
|
|
78
108
|
##
|
79
109
|
## set_forge, set_moduledir, and add_module are used directly by the DSL class
|
@@ -81,7 +111,12 @@ module R10K
|
|
81
111
|
|
82
112
|
# @param [String] forge
|
83
113
|
def set_forge(forge)
|
84
|
-
@
|
114
|
+
if @allow_puppetfile_forge
|
115
|
+
logger.debug _("Using Forge from Puppetfile: %{forge}") % { forge: forge }
|
116
|
+
PuppetForge.host = forge
|
117
|
+
else
|
118
|
+
logger.debug _("Ignoring Forge declaration in Puppetfile, using value from settings: %{forge}.") % { forge: PuppetForge.host }
|
119
|
+
end
|
85
120
|
end
|
86
121
|
|
87
122
|
# @param [String] moduledir
|
@@ -90,7 +125,7 @@ module R10K
|
|
90
125
|
end
|
91
126
|
|
92
127
|
# @param [String] name
|
93
|
-
# @param [Hash, String, Symbol, nil]
|
128
|
+
# @param [Hash, String, Symbol, nil] info Calling with
|
94
129
|
# anything but a Hash is deprecated. The DSL will now convert
|
95
130
|
# String and Symbol versions to Hashes of the shape
|
96
131
|
# { version: <String or Symbol> }
|
@@ -103,28 +138,10 @@ module R10K
|
|
103
138
|
# DSL class, not the Puppetfile author) to do this conversion
|
104
139
|
# itself.
|
105
140
|
#
|
106
|
-
def add_module(name,
|
107
|
-
|
108
|
-
module_info = { version: module_info }
|
109
|
-
end
|
110
|
-
|
111
|
-
module_info[:overrides] = @overrides
|
112
|
-
|
113
|
-
spec_deletable = false
|
114
|
-
|
115
|
-
if install_path = module_info.delete(:install_path)
|
116
|
-
install_path = resolve_path(@basedir, install_path)
|
117
|
-
validate_install_path(install_path, name)
|
118
|
-
else
|
119
|
-
install_path = @moduledir
|
120
|
-
spec_deletable = true
|
121
|
-
end
|
122
|
-
|
123
|
-
if @default_branch_override
|
124
|
-
module_info[:default_branch_override] = @default_branch_override
|
125
|
-
end
|
141
|
+
def add_module(name, info)
|
142
|
+
install_path, metadata_info, spec_deletable = parse_module_definition(name, info)
|
126
143
|
|
127
|
-
mod = R10K::Module.
|
144
|
+
mod = R10K::Module.from_metadata(name, install_path, metadata_info, @environment)
|
128
145
|
mod.origin = :puppetfile
|
129
146
|
mod.spec_deletable = spec_deletable
|
130
147
|
|
@@ -134,11 +151,60 @@ module R10K
|
|
134
151
|
return @modules
|
135
152
|
end
|
136
153
|
|
154
|
+
# If this module's metadata has a static version and that version
|
155
|
+
# matches the existing module declaration use it, otherwise create
|
156
|
+
# a regular module to sync.
|
157
|
+
unless mod.version && (mod.version == @existing_module_versions_by_name[mod.name])
|
158
|
+
mod = mod.to_implementation
|
159
|
+
end
|
160
|
+
|
137
161
|
@modules << mod
|
138
162
|
end
|
139
163
|
|
140
164
|
private
|
141
165
|
|
166
|
+
def empty_load_output
|
167
|
+
{
|
168
|
+
modules: [],
|
169
|
+
managed_directories: [],
|
170
|
+
desired_contents: [],
|
171
|
+
purge_exclusions: []
|
172
|
+
}
|
173
|
+
end
|
174
|
+
|
175
|
+
def with_readable_puppetfile(puppetfile_path, &block)
|
176
|
+
if File.readable?(puppetfile_path)
|
177
|
+
block.call
|
178
|
+
else
|
179
|
+
logger.debug _("Puppetfile %{path} missing or unreadable") % {path: puppetfile_path.inspect}
|
180
|
+
|
181
|
+
empty_load_output
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
def parse_module_definition(name, info)
|
186
|
+
if !info.is_a?(Hash)
|
187
|
+
info = { version: info }
|
188
|
+
end
|
189
|
+
|
190
|
+
info[:overrides] = @overrides
|
191
|
+
|
192
|
+
if @default_branch_override
|
193
|
+
info[:default_branch_override] = @default_branch_override
|
194
|
+
end
|
195
|
+
|
196
|
+
spec_deletable = false
|
197
|
+
if install_path = info.delete(:install_path)
|
198
|
+
install_path = resolve_path(@basedir, install_path)
|
199
|
+
validate_install_path(install_path, name)
|
200
|
+
else
|
201
|
+
install_path = @moduledir
|
202
|
+
spec_deletable = true
|
203
|
+
end
|
204
|
+
|
205
|
+
return [ install_path, info, spec_deletable ]
|
206
|
+
end
|
207
|
+
|
142
208
|
# @param [Array<R10K::Module>] modules
|
143
209
|
def validate_no_duplicate_names(modules)
|
144
210
|
dupes = modules
|
data/lib/r10k/puppetfile.rb
CHANGED
@@ -78,7 +78,6 @@ class Puppetfile
|
|
78
78
|
basedir: @basedir,
|
79
79
|
moduledir: @moduledir,
|
80
80
|
puppetfile: @puppetfile,
|
81
|
-
forge: @forge,
|
82
81
|
overrides: @overrides,
|
83
82
|
environment: @environment
|
84
83
|
)
|
@@ -120,7 +119,7 @@ class Puppetfile
|
|
120
119
|
@loader.default_branch_override = default_branch_override
|
121
120
|
end
|
122
121
|
|
123
|
-
@loaded_content = @loader.load
|
122
|
+
@loaded_content = @loader.load!
|
124
123
|
@loaded = true
|
125
124
|
|
126
125
|
@loaded_content
|
data/lib/r10k/settings.rb
CHANGED
@@ -126,8 +126,19 @@ module R10K
|
|
126
126
|
URIDefinition.new(:baseurl, {
|
127
127
|
:desc => "The URL to the Puppet Forge to use for downloading modules."
|
128
128
|
}),
|
129
|
+
|
129
130
|
Definition.new(:authorization_token, {
|
130
131
|
:desc => "The token for Puppet Forge authorization. Leave blank for unauthorized or license-based connections."
|
132
|
+
}),
|
133
|
+
|
134
|
+
Definition.new(:allow_puppetfile_override, {
|
135
|
+
:desc => "Whether to use `forge` declarations in the Puppetfile as an override of `baseurl`.",
|
136
|
+
:default => false,
|
137
|
+
:validate => lambda do |value|
|
138
|
+
unless !!value == value
|
139
|
+
raise ArgumentError, "`allow_puppetfile_override` can only be a boolean value, not '#{value}'"
|
140
|
+
end
|
141
|
+
end
|
131
142
|
})
|
132
143
|
])
|
133
144
|
end
|
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 = '3.
|
5
|
+
VERSION = '3.12.0'
|
6
6
|
end
|
data/locales/r10k.pot
CHANGED
@@ -6,11 +6,11 @@
|
|
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-110-gfe65c736\n"
|
10
10
|
"\n"
|
11
11
|
"Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
|
12
|
-
"POT-Creation-Date: 2021-
|
13
|
-
"PO-Revision-Date: 2021-
|
12
|
+
"POT-Creation-Date: 2021-09-15 21:23+0000\n"
|
13
|
+
"PO-Revision-Date: 2021-09-15 21:23+0000\n"
|
14
14
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
15
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
16
|
"Language: \n"
|
@@ -31,35 +31,47 @@ msgstr ""
|
|
31
31
|
msgid "Reason: %{write_lock}"
|
32
32
|
msgstr ""
|
33
33
|
|
34
|
-
#: ../lib/r10k/action/deploy/environment.rb:
|
34
|
+
#: ../lib/r10k/action/deploy/environment.rb:118
|
35
35
|
msgid "Environment(s) \\'%{environments}\\' cannot be found in any source and will not be deployed."
|
36
36
|
msgstr ""
|
37
37
|
|
38
|
-
#: ../lib/r10k/action/deploy/environment.rb:
|
38
|
+
#: ../lib/r10k/action/deploy/environment.rb:138
|
39
|
+
msgid "Executing postrun command."
|
40
|
+
msgstr ""
|
41
|
+
|
42
|
+
#: ../lib/r10k/action/deploy/environment.rb:152
|
39
43
|
msgid "Environment %{env_dir} does not match environment name filter, skipping"
|
40
44
|
msgstr ""
|
41
45
|
|
42
|
-
#: ../lib/r10k/action/deploy/environment.rb:
|
46
|
+
#: ../lib/r10k/action/deploy/environment.rb:160
|
43
47
|
msgid "Deploying environment %{env_path}"
|
44
48
|
msgstr ""
|
45
49
|
|
46
|
-
#: ../lib/r10k/action/deploy/environment.rb:
|
50
|
+
#: ../lib/r10k/action/deploy/environment.rb:163
|
47
51
|
msgid "Environment %{env_dir} is now at %{env_signature}"
|
48
52
|
msgstr ""
|
49
53
|
|
50
|
-
#: ../lib/r10k/action/deploy/environment.rb:
|
54
|
+
#: ../lib/r10k/action/deploy/environment.rb:167
|
51
55
|
msgid "Environment %{env_dir} is new, updating all modules"
|
52
56
|
msgstr ""
|
53
57
|
|
54
|
-
#: ../lib/r10k/action/deploy/module.rb:
|
58
|
+
#: ../lib/r10k/action/deploy/module.rb:82
|
59
|
+
msgid "Running postrun command for environments: %{envs_to_run}."
|
60
|
+
msgstr ""
|
61
|
+
|
62
|
+
#: ../lib/r10k/action/deploy/module.rb:92
|
63
|
+
msgid "No environments were modified, not executing postrun command."
|
64
|
+
msgstr ""
|
65
|
+
|
66
|
+
#: ../lib/r10k/action/deploy/module.rb:104
|
55
67
|
msgid "Only updating modules in environment(s) %{opt_env} skipping environment %{env_path}"
|
56
68
|
msgstr ""
|
57
69
|
|
58
|
-
#: ../lib/r10k/action/deploy/module.rb:
|
70
|
+
#: ../lib/r10k/action/deploy/module.rb:106
|
59
71
|
msgid "Updating modules %{modules} in environment %{env_path}"
|
60
72
|
msgstr ""
|
61
73
|
|
62
|
-
#: ../lib/r10k/action/puppetfile/check.rb:
|
74
|
+
#: ../lib/r10k/action/puppetfile/check.rb:18
|
63
75
|
msgid "Syntax OK"
|
64
76
|
msgstr ""
|
65
77
|
|
@@ -75,15 +87,15 @@ msgstr ""
|
|
75
87
|
msgid "No config file explicitly given and no default config file could be found, default settings will be used."
|
76
88
|
msgstr ""
|
77
89
|
|
78
|
-
#: ../lib/r10k/content_synchronizer.rb:
|
90
|
+
#: ../lib/r10k/content_synchronizer.rb:33
|
79
91
|
msgid "Updating modules with %{pool_size} threads"
|
80
92
|
msgstr ""
|
81
93
|
|
82
|
-
#: ../lib/r10k/content_synchronizer.rb:
|
94
|
+
#: ../lib/r10k/content_synchronizer.rb:46
|
83
95
|
msgid "Error during concurrent deploy of a module: %{message}"
|
84
96
|
msgstr ""
|
85
97
|
|
86
|
-
#: ../lib/r10k/content_synchronizer.rb:
|
98
|
+
#: ../lib/r10k/content_synchronizer.rb:87
|
87
99
|
msgid "Module thread %{id} exiting: %{message}"
|
88
100
|
msgstr ""
|
89
101
|
|
@@ -95,7 +107,7 @@ msgstr ""
|
|
95
107
|
msgid "Unable to load sources; the supplied configuration does not define the 'sources' key"
|
96
108
|
msgstr ""
|
97
109
|
|
98
|
-
#: ../lib/r10k/environment/base.rb:
|
110
|
+
#: ../lib/r10k/environment/base.rb:89 ../lib/r10k/environment/base.rb:105 ../lib/r10k/environment/base.rb:114 ../lib/r10k/source/base.rb:83
|
99
111
|
msgid "%{class} has not implemented method %{method}"
|
100
112
|
msgstr ""
|
101
113
|
|
@@ -103,15 +115,15 @@ msgstr ""
|
|
103
115
|
msgid "Improper configuration value given for strip_component setting in %{src} source. Value must be a string, a /regex/, false, or omitted. Got \"%{val}\" (%{type})"
|
104
116
|
msgstr ""
|
105
117
|
|
106
|
-
#: ../lib/r10k/environment/with_modules.rb:
|
118
|
+
#: ../lib/r10k/environment/with_modules.rb:60
|
107
119
|
msgid "Environment and %{src} both define the \"%{name}\" module"
|
108
120
|
msgstr ""
|
109
121
|
|
110
|
-
#: ../lib/r10k/environment/with_modules.rb:
|
122
|
+
#: ../lib/r10k/environment/with_modules.rb:61
|
111
123
|
msgid "#{msg_error}. The %{src} definition will be ignored"
|
112
124
|
msgstr ""
|
113
125
|
|
114
|
-
#: ../lib/r10k/environment/with_modules.rb:
|
126
|
+
#: ../lib/r10k/environment/with_modules.rb:71
|
115
127
|
msgid "Unexpected value for `module_conflicts` setting in %{env} environment: %{val}"
|
116
128
|
msgstr ""
|
117
129
|
|
@@ -323,31 +335,31 @@ msgstr ""
|
|
323
335
|
msgid "Found local modifications in %{file_path}"
|
324
336
|
msgstr ""
|
325
337
|
|
326
|
-
#: ../lib/r10k/git/stateful_repository.rb:
|
338
|
+
#: ../lib/r10k/git/stateful_repository.rb:45
|
327
339
|
msgid "Unable to sync repo to unresolvable ref '%{ref}'"
|
328
340
|
msgstr ""
|
329
341
|
|
330
|
-
#: ../lib/r10k/git/stateful_repository.rb:
|
342
|
+
#: ../lib/r10k/git/stateful_repository.rb:53
|
331
343
|
msgid "Cloning %{repo_path} and checking out %{ref}"
|
332
344
|
msgstr ""
|
333
345
|
|
334
|
-
#: ../lib/r10k/git/stateful_repository.rb:
|
346
|
+
#: ../lib/r10k/git/stateful_repository.rb:56
|
335
347
|
msgid "Replacing %{repo_path} and checking out %{ref}"
|
336
348
|
msgstr ""
|
337
349
|
|
338
|
-
#: ../lib/r10k/git/stateful_repository.rb:
|
350
|
+
#: ../lib/r10k/git/stateful_repository.rb:60 ../lib/r10k/git/stateful_repository.rb:65
|
339
351
|
msgid "Updating %{repo_path} to %{ref}"
|
340
352
|
msgstr ""
|
341
353
|
|
342
|
-
#: ../lib/r10k/git/stateful_repository.rb:
|
354
|
+
#: ../lib/r10k/git/stateful_repository.rb:64
|
343
355
|
msgid "Overwriting local modifications to %{repo_path}"
|
344
356
|
msgstr ""
|
345
357
|
|
346
|
-
#: ../lib/r10k/git/stateful_repository.rb:
|
358
|
+
#: ../lib/r10k/git/stateful_repository.rb:68
|
347
359
|
msgid "Skipping %{repo_path} due to local modifications"
|
348
360
|
msgstr ""
|
349
361
|
|
350
|
-
#: ../lib/r10k/git/stateful_repository.rb:
|
362
|
+
#: ../lib/r10k/git/stateful_repository.rb:72
|
351
363
|
msgid "%{repo_path} is already at Git ref %{ref}"
|
352
364
|
msgstr ""
|
353
365
|
|
@@ -367,51 +379,55 @@ msgstr ""
|
|
367
379
|
msgid "Invalid log level '%{val}'. Valid levels are %{log_levels}"
|
368
380
|
msgstr ""
|
369
381
|
|
370
|
-
#: ../lib/r10k/module.rb:
|
382
|
+
#: ../lib/r10k/module.rb:45
|
371
383
|
msgid "Module %{name} with args %{args} doesn't have an implementation. (Are you using the right arguments?)"
|
372
384
|
msgstr ""
|
373
385
|
|
374
|
-
#: ../lib/r10k/module/base.rb:
|
386
|
+
#: ../lib/r10k/module/base.rb:83
|
375
387
|
msgid "Spec dir for #{@title} will not be deleted because it is not in the moduledir"
|
376
388
|
msgstr ""
|
377
389
|
|
378
|
-
#: ../lib/r10k/module/base.rb:
|
390
|
+
#: ../lib/r10k/module/base.rb:95
|
379
391
|
msgid "Deleting spec data at #{spec_path}"
|
380
392
|
msgstr ""
|
381
393
|
|
382
|
-
#: ../lib/r10k/module/base.rb:
|
394
|
+
#: ../lib/r10k/module/base.rb:103
|
383
395
|
msgid "No spec dir detected at #{spec_path}, skipping deletion"
|
384
396
|
msgstr ""
|
385
397
|
|
386
|
-
#: ../lib/r10k/module/base.rb:
|
398
|
+
#: ../lib/r10k/module/base.rb:116
|
387
399
|
msgid "Deploying module to %{path}"
|
388
400
|
msgstr ""
|
389
401
|
|
390
|
-
#: ../lib/r10k/module/base.rb:
|
402
|
+
#: ../lib/r10k/module/base.rb:119
|
391
403
|
msgid "Only updating modules %{modules}, skipping module %{name}"
|
392
404
|
msgstr ""
|
393
405
|
|
394
|
-
#: ../lib/r10k/module/base.rb:
|
406
|
+
#: ../lib/r10k/module/base.rb:175
|
395
407
|
msgid "Module name (%{title}) must match either 'modulename' or 'owner/modulename'"
|
396
408
|
msgstr ""
|
397
409
|
|
398
|
-
#: ../lib/r10k/module/
|
410
|
+
#: ../lib/r10k/module/definition.rb:28
|
411
|
+
msgid "Not updating module %{name}, assuming content unchanged"
|
412
|
+
msgstr ""
|
413
|
+
|
414
|
+
#: ../lib/r10k/module/forge.rb:98
|
399
415
|
msgid "The module %{title} does not appear to have any published releases, cannot determine latest version."
|
400
416
|
msgstr ""
|
401
417
|
|
402
|
-
#: ../lib/r10k/module/forge.rb:
|
418
|
+
#: ../lib/r10k/module/forge.rb:101 ../lib/r10k/module/forge.rb:130
|
403
419
|
msgid "The module %{title} does not exist on %{url}."
|
404
420
|
msgstr ""
|
405
421
|
|
406
|
-
#: ../lib/r10k/module/forge.rb:
|
422
|
+
#: ../lib/r10k/module/forge.rb:205
|
407
423
|
msgid "Forge module names must match 'owner/modulename', instead got #{title}"
|
408
424
|
msgstr ""
|
409
425
|
|
410
|
-
#: ../lib/r10k/module/git.rb:
|
426
|
+
#: ../lib/r10k/module/git.rb:81
|
411
427
|
msgid "Cannot track control repo branch for content '%{name}' when not part of a git-backed environment, will use default if available."
|
412
428
|
msgstr ""
|
413
429
|
|
414
|
-
#: ../lib/r10k/module/local.rb:
|
430
|
+
#: ../lib/r10k/module/local.rb:33
|
415
431
|
msgid "Module %{title} is a local module, always indicating synced."
|
416
432
|
msgstr ""
|
417
433
|
|
@@ -419,34 +435,46 @@ msgstr ""
|
|
419
435
|
msgid "Could not read metadata.json"
|
420
436
|
msgstr ""
|
421
437
|
|
422
|
-
#: ../lib/r10k/module_loader/puppetfile.rb:
|
438
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:58
|
423
439
|
msgid "Using Puppetfile '%{puppetfile}'"
|
424
440
|
msgstr ""
|
425
441
|
|
426
|
-
#: ../lib/r10k/module_loader/puppetfile.rb:
|
442
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:59
|
427
443
|
msgid "Using moduledir '%{moduledir}'"
|
428
444
|
msgstr ""
|
429
445
|
|
430
|
-
#: ../lib/r10k/module_loader/puppetfile.rb:
|
446
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:80
|
431
447
|
msgid "Failed to evaluate %{path}"
|
432
448
|
msgstr ""
|
433
449
|
|
434
|
-
#: ../lib/r10k/module_loader/puppetfile.rb:
|
435
|
-
msgid "
|
450
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:97
|
451
|
+
msgid "Unable to preload Puppetfile because of %{msg}"
|
436
452
|
msgstr ""
|
437
453
|
|
438
|
-
#: ../lib/r10k/module_loader/puppetfile.rb:
|
439
|
-
msgid "
|
454
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:115
|
455
|
+
msgid "Using Forge from Puppetfile: %{forge}"
|
440
456
|
msgstr ""
|
441
457
|
|
442
|
-
#: ../lib/r10k/module_loader/puppetfile
|
443
|
-
msgid "
|
458
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:118
|
459
|
+
msgid "Ignoring Forge declaration in Puppetfile, using value from settings: %{forge}."
|
444
460
|
msgstr ""
|
445
461
|
|
446
|
-
#: ../lib/r10k/puppetfile.rb:
|
462
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:179 ../lib/r10k/puppetfile.rb:104
|
447
463
|
msgid "Puppetfile %{path} missing or unreadable"
|
448
464
|
msgstr ""
|
449
465
|
|
466
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:215
|
467
|
+
msgid "Puppetfiles cannot contain duplicate module names."
|
468
|
+
msgstr ""
|
469
|
+
|
470
|
+
#: ../lib/r10k/module_loader/puppetfile.rb:217
|
471
|
+
msgid "Remove the duplicates of the following modules: %{dupes}"
|
472
|
+
msgstr ""
|
473
|
+
|
474
|
+
#: ../lib/r10k/module_loader/puppetfile/dsl.rb:37
|
475
|
+
msgid "unrecognized declaration '%{method}'"
|
476
|
+
msgstr ""
|
477
|
+
|
450
478
|
#: ../lib/r10k/settings/collection.rb:77
|
451
479
|
msgid "Validation failed for '%{name}' settings group"
|
452
480
|
msgstr ""
|