r10k 3.3.3 → 3.4.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 +5 -5
- data/.github/workflows/docker.yml +32 -0
- data/.travis.yml +2 -0
- data/CHANGELOG.mkd +6 -0
- data/CODEOWNERS +1 -0
- data/README.mkd +2 -1
- data/bin/r10k +1 -1
- data/doc/dynamic-environments/configuration.mkd +145 -1
- data/docker/Makefile +23 -15
- data/docker/r10k/Dockerfile +23 -15
- data/docker/r10k/adduser.sh +13 -0
- data/docker/r10k/docker-entrypoint.d/10-analytics.sh +1 -1
- data/docker/r10k/release.Dockerfile +36 -0
- data/docker/spec/dockerfile_spec.rb +4 -3
- data/docker/spec/fixtures/Puppetfile +1 -1
- data/lib/r10k/action/deploy/environment.rb +2 -2
- data/lib/r10k/action/runner.rb +1 -1
- data/lib/r10k/environment.rb +30 -0
- data/lib/r10k/environment/bare.rb +16 -0
- data/lib/r10k/environment/git.rb +6 -5
- data/lib/r10k/environment/svn.rb +2 -0
- data/lib/r10k/environment/with_modules.rb +139 -0
- data/lib/r10k/logging/terminaloutputter.rb +1 -1
- data/lib/r10k/module/base.rb +5 -0
- data/lib/r10k/module/forge.rb +5 -1
- data/lib/r10k/puppetfile.rb +6 -0
- data/lib/r10k/source.rb +3 -0
- data/lib/r10k/source/hash.rb +158 -0
- data/lib/r10k/source/yaml.rb +20 -0
- data/lib/r10k/source/yamldir.rb +32 -0
- data/lib/r10k/util/attempt.rb +1 -1
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +44 -20
- data/r10k.gemspec +1 -1
- data/spec/unit/action/deploy/environment_spec.rb +1 -0
- metadata +14 -9
- data/MAINTAINERS +0 -18
- data/docker/distelli-manifest.yml +0 -9
@@ -0,0 +1,20 @@
|
|
1
|
+
class R10K::Source::Yaml < R10K::Source::Hash
|
2
|
+
R10K::Source.register(:yaml, self)
|
3
|
+
|
4
|
+
def initialize(name, basedir, options = {})
|
5
|
+
config = options[:config] || '/etc/puppetlabs/r10k/environments.yaml'
|
6
|
+
|
7
|
+
begin
|
8
|
+
contents = ::YAML.load_file(config)
|
9
|
+
rescue => e
|
10
|
+
raise ConfigError, _("Couldn't open environments file %{file}: %{err}") % {file: config, err: e.message}
|
11
|
+
end
|
12
|
+
|
13
|
+
# Set the environments key for the parent class to consume
|
14
|
+
options[:environments] = contents
|
15
|
+
|
16
|
+
# All we need to do is supply options with the :environments hash.
|
17
|
+
# The R10K::Source::Hash parent class takes care of the rest.
|
18
|
+
super(name, basedir, options)
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
class R10K::Source::Yamldir < R10K::Source::Hash
|
2
|
+
R10K::Source.register(:yamldir, self)
|
3
|
+
|
4
|
+
def initialize(name, basedir, options = {})
|
5
|
+
config = options[:config] || '/etc/puppetlabs/r10k/environments.d'
|
6
|
+
|
7
|
+
unless File.directory?(config)
|
8
|
+
raise R10K::Deployment::Config::ConfigError, _("Error opening %{dir}: config must be a directory") % {dir: config}
|
9
|
+
end
|
10
|
+
|
11
|
+
unless File.readable?(config)
|
12
|
+
raise R10K::Deployment::Config::ConfigError, _("Error opening %{dir}: permission denied") % {dir: config}
|
13
|
+
end
|
14
|
+
|
15
|
+
environment_data = Dir.glob(File.join(config, '*.yaml')).reduce({}) do |memo,path|
|
16
|
+
name = File.basename(path, '.yaml')
|
17
|
+
begin
|
18
|
+
contents = ::YAML.load_file(path)
|
19
|
+
rescue => e
|
20
|
+
raise R10K::Deployment::Config::ConfigError, _("Error loading %{path}: %{err}") % {path: path, err: e.message}
|
21
|
+
end
|
22
|
+
memo.merge({name => contents })
|
23
|
+
end
|
24
|
+
|
25
|
+
# Set the environments key for the parent class to consume
|
26
|
+
options[:environments] = environment_data
|
27
|
+
|
28
|
+
# All we need to do is supply options with the :environments hash.
|
29
|
+
# The R10K::Source::Hash parent class takes care of the rest.
|
30
|
+
super(name, basedir, options)
|
31
|
+
end
|
32
|
+
end
|
data/lib/r10k/util/attempt.rb
CHANGED
data/lib/r10k/version.rb
CHANGED
data/locales/r10k.pot
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: r10k 3.3.
|
9
|
+
"Project-Id-Version: r10k 3.3.3-22-g3035320\n"
|
10
10
|
"\n"
|
11
11
|
"Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
|
12
|
-
"POT-Creation-Date: 2019-
|
13
|
-
"PO-Revision-Date: 2019-
|
12
|
+
"POT-Creation-Date: 2019-12-17 14:55+0000\n"
|
13
|
+
"PO-Revision-Date: 2019-12-17 14:55+0000\n"
|
14
14
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
15
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
16
|
"Language: \n"
|
@@ -52,7 +52,7 @@ msgid "Environment %{env_dir} is new, updating all modules"
|
|
52
52
|
msgstr ""
|
53
53
|
|
54
54
|
#: ../lib/r10k/action/deploy/environment.rb:143
|
55
|
-
msgid "Deploying
|
55
|
+
msgid "Deploying %{origin} content %{path}"
|
56
56
|
msgstr ""
|
57
57
|
|
58
58
|
#: ../lib/r10k/action/deploy/module.rb:49
|
@@ -107,6 +107,14 @@ msgstr ""
|
|
107
107
|
msgid "%{class} has not implemented method %{method}"
|
108
108
|
msgstr ""
|
109
109
|
|
110
|
+
#: ../lib/r10k/environment/with_modules.rb:104
|
111
|
+
msgid "Puppetfile cannot contain module names defined by environment %{name}"
|
112
|
+
msgstr ""
|
113
|
+
|
114
|
+
#: ../lib/r10k/environment/with_modules.rb:106
|
115
|
+
msgid "Remove the conflicting definitions of the following modules: %{conflicts}"
|
116
|
+
msgstr ""
|
117
|
+
|
110
118
|
#: ../lib/r10k/feature.rb:27
|
111
119
|
msgid "Testing to see if feature %{name} is available."
|
112
120
|
msgstr ""
|
@@ -131,19 +139,19 @@ msgstr ""
|
|
131
139
|
msgid "Proc %{block} for feature %{name} returned %{output}"
|
132
140
|
msgstr ""
|
133
141
|
|
134
|
-
#: ../lib/r10k/forge/module_release.rb:
|
142
|
+
#: ../lib/r10k/forge/module_release.rb:196
|
135
143
|
msgid "Unpacking %{tarball_cache_path} to %{target_dir} (with tmpdir %{tmp_path})"
|
136
144
|
msgstr ""
|
137
145
|
|
138
|
-
#: ../lib/r10k/forge/module_release.rb:
|
146
|
+
#: ../lib/r10k/forge/module_release.rb:198
|
139
147
|
msgid "Valid files unpacked: %{valid_files}"
|
140
148
|
msgstr ""
|
141
149
|
|
142
|
-
#: ../lib/r10k/forge/module_release.rb:
|
150
|
+
#: ../lib/r10k/forge/module_release.rb:200
|
143
151
|
msgid "These files existed in the module's tar file, but are invalid filetypes and were not unpacked: %{invalid_files}"
|
144
152
|
msgstr ""
|
145
153
|
|
146
|
-
#: ../lib/r10k/forge/module_release.rb:
|
154
|
+
#: ../lib/r10k/forge/module_release.rb:203
|
147
155
|
msgid "Symlinks are unsupported and were not unpacked from the module tarball. %{release_slug} contained these ignored symlinks: %{symlinks}"
|
148
156
|
msgstr ""
|
149
157
|
|
@@ -295,19 +303,19 @@ msgstr ""
|
|
295
303
|
msgid "Module %{name} with args %{args} doesn't have an implementation. (Are you using the right arguments?)"
|
296
304
|
msgstr ""
|
297
305
|
|
298
|
-
#: ../lib/r10k/module/base.rb:
|
306
|
+
#: ../lib/r10k/module/base.rb:110
|
299
307
|
msgid "Module name (%{title}) must match either 'modulename' or 'owner/modulename'"
|
300
308
|
msgstr ""
|
301
309
|
|
302
|
-
#: ../lib/r10k/module/forge.rb:70 ../lib/r10k/module/forge.rb:
|
310
|
+
#: ../lib/r10k/module/forge.rb:70 ../lib/r10k/module/forge.rb:99
|
303
311
|
msgid "The module %{title} does not exist on %{url}."
|
304
312
|
msgstr ""
|
305
313
|
|
306
|
-
#: ../lib/r10k/module/forge.rb:
|
314
|
+
#: ../lib/r10k/module/forge.rb:174
|
307
315
|
msgid "Forge module names must match 'owner/modulename'"
|
308
316
|
msgstr ""
|
309
317
|
|
310
|
-
#: ../lib/r10k/module/git.rb:
|
318
|
+
#: ../lib/r10k/module/git.rb:97
|
311
319
|
msgid "Unhandled options %{unhandled} specified for %{class}"
|
312
320
|
msgstr ""
|
313
321
|
|
@@ -323,35 +331,35 @@ msgstr ""
|
|
323
331
|
msgid "Using Puppetfile '%{puppetfile}'"
|
324
332
|
msgstr ""
|
325
333
|
|
326
|
-
#: ../lib/r10k/puppetfile.rb:
|
334
|
+
#: ../lib/r10k/puppetfile.rb:71
|
327
335
|
msgid "Puppetfile %{path} missing or unreadable"
|
328
336
|
msgstr ""
|
329
337
|
|
330
|
-
#: ../lib/r10k/puppetfile.rb:
|
338
|
+
#: ../lib/r10k/puppetfile.rb:84
|
331
339
|
msgid "Failed to evaluate %{path}"
|
332
340
|
msgstr ""
|
333
341
|
|
334
|
-
#: ../lib/r10k/puppetfile.rb:
|
342
|
+
#: ../lib/r10k/puppetfile.rb:98
|
335
343
|
msgid "Puppetfiles cannot contain duplicate module names."
|
336
344
|
msgstr ""
|
337
345
|
|
338
|
-
#: ../lib/r10k/puppetfile.rb:
|
346
|
+
#: ../lib/r10k/puppetfile.rb:100
|
339
347
|
msgid "Remove the duplicates of the following modules: %{dupes}"
|
340
348
|
msgstr ""
|
341
349
|
|
342
|
-
#: ../lib/r10k/puppetfile.rb:
|
350
|
+
#: ../lib/r10k/puppetfile.rb:192
|
343
351
|
msgid "Updating modules with %{pool_size} threads"
|
344
352
|
msgstr ""
|
345
353
|
|
346
|
-
#: ../lib/r10k/puppetfile.rb:
|
354
|
+
#: ../lib/r10k/puppetfile.rb:203
|
347
355
|
msgid "Error during concurrent deploy of a module: %{message}"
|
348
356
|
msgstr ""
|
349
357
|
|
350
|
-
#: ../lib/r10k/puppetfile.rb:
|
358
|
+
#: ../lib/r10k/puppetfile.rb:225
|
351
359
|
msgid "Module thread %{id} exiting: %{message}"
|
352
360
|
msgstr ""
|
353
361
|
|
354
|
-
#: ../lib/r10k/puppetfile.rb:
|
362
|
+
#: ../lib/r10k/puppetfile.rb:282
|
355
363
|
msgid "unrecognized declaration '%{method}'"
|
356
364
|
msgstr ""
|
357
365
|
|
@@ -435,6 +443,22 @@ msgstr ""
|
|
435
443
|
msgid "Branch %{branch} filtered out by ignore_branch_prefixes %{ibp}"
|
436
444
|
msgstr ""
|
437
445
|
|
446
|
+
#: ../lib/r10k/source/yaml.rb:10
|
447
|
+
msgid "Couldn't open environments file %{file}: %{err}"
|
448
|
+
msgstr ""
|
449
|
+
|
450
|
+
#: ../lib/r10k/source/yamldir.rb:8
|
451
|
+
msgid "Error opening %{dir}: config must be a directory"
|
452
|
+
msgstr ""
|
453
|
+
|
454
|
+
#: ../lib/r10k/source/yamldir.rb:12
|
455
|
+
msgid "Error opening %{dir}: permission denied"
|
456
|
+
msgstr ""
|
457
|
+
|
458
|
+
#: ../lib/r10k/source/yamldir.rb:20
|
459
|
+
msgid "Error loading %{path}: %{err}"
|
460
|
+
msgstr ""
|
461
|
+
|
438
462
|
#: ../lib/r10k/svn/working_dir.rb:43
|
439
463
|
msgid "Both username and password must be specified"
|
440
464
|
msgstr ""
|
data/r10k.gemspec
CHANGED
@@ -369,6 +369,7 @@ describe R10K::Action::Deploy::Environment do
|
|
369
369
|
allow(mock_forge_module_1).to receive(:repo).and_raise(NoMethodError)
|
370
370
|
|
371
371
|
fake_env = Fake_Environment.new(@tmp_path, {:name => "my_cool_environment", :signature => "pablo picasso"})
|
372
|
+
allow(fake_env).to receive(:modules).and_return(mock_puppetfile.modules)
|
372
373
|
subject.send(:write_environment_info!, fake_env, "2019-01-01 23:23:22 +0000", true)
|
373
374
|
|
374
375
|
file_contents = File.read("#{@tmp_path}/.r10k-deploy.json")
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r10k
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: colored2
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.1.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 3.1.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: cri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -161,6 +161,7 @@ extensions: []
|
|
161
161
|
extra_rdoc_files: []
|
162
162
|
files:
|
163
163
|
- ".gitattributes"
|
164
|
+
- ".github/workflows/docker.yml"
|
164
165
|
- ".gitignore"
|
165
166
|
- ".travis.yml"
|
166
167
|
- CHANGELOG.mkd
|
@@ -168,7 +169,6 @@ files:
|
|
168
169
|
- CONTRIBUTING.mkd
|
169
170
|
- Gemfile
|
170
171
|
- LICENSE
|
171
|
-
- MAINTAINERS
|
172
172
|
- README.mkd
|
173
173
|
- Rakefile
|
174
174
|
- azure-pipelines.yml
|
@@ -193,10 +193,11 @@ files:
|
|
193
193
|
- docker/Gemfile
|
194
194
|
- docker/Makefile
|
195
195
|
- docker/README.md
|
196
|
-
- docker/distelli-manifest.yml
|
197
196
|
- docker/r10k/Dockerfile
|
197
|
+
- docker/r10k/adduser.sh
|
198
198
|
- docker/r10k/docker-entrypoint.d/10-analytics.sh
|
199
199
|
- docker/r10k/docker-entrypoint.sh
|
200
|
+
- docker/r10k/release.Dockerfile
|
200
201
|
- docker/spec/dockerfile_spec.rb
|
201
202
|
- docker/spec/fixtures/Puppetfile
|
202
203
|
- integration/Gemfile
|
@@ -319,10 +320,12 @@ files:
|
|
319
320
|
- lib/r10k/deployment.rb
|
320
321
|
- lib/r10k/deployment/config.rb
|
321
322
|
- lib/r10k/environment.rb
|
323
|
+
- lib/r10k/environment/bare.rb
|
322
324
|
- lib/r10k/environment/base.rb
|
323
325
|
- lib/r10k/environment/git.rb
|
324
326
|
- lib/r10k/environment/name.rb
|
325
327
|
- lib/r10k/environment/svn.rb
|
328
|
+
- lib/r10k/environment/with_modules.rb
|
326
329
|
- lib/r10k/errors.rb
|
327
330
|
- lib/r10k/errors/formatting.rb
|
328
331
|
- lib/r10k/feature.rb
|
@@ -373,7 +376,10 @@ files:
|
|
373
376
|
- lib/r10k/source.rb
|
374
377
|
- lib/r10k/source/base.rb
|
375
378
|
- lib/r10k/source/git.rb
|
379
|
+
- lib/r10k/source/hash.rb
|
376
380
|
- lib/r10k/source/svn.rb
|
381
|
+
- lib/r10k/source/yaml.rb
|
382
|
+
- lib/r10k/source/yamldir.rb
|
377
383
|
- lib/r10k/svn.rb
|
378
384
|
- lib/r10k/svn/remote.rb
|
379
385
|
- lib/r10k/svn/working_dir.rb
|
@@ -532,8 +538,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
532
538
|
- !ruby/object:Gem::Version
|
533
539
|
version: '0'
|
534
540
|
requirements: []
|
535
|
-
|
536
|
-
rubygems_version: 2.5.1
|
541
|
+
rubygems_version: 3.0.6
|
537
542
|
signing_key:
|
538
543
|
specification_version: 4
|
539
544
|
summary: Puppet environment and module deployment
|
data/MAINTAINERS
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"version": 1,
|
3
|
-
"file_format": "This MAINTAINERS file format is described at https://github.com/puppetlabs/maintainers",
|
4
|
-
"issues": "https://tickets.puppet.com/browse/RK",
|
5
|
-
"internal_list": "https://groups.google.com/a/puppet.com/forum/?hl=en#!forum/discuss-code-manager-maintainers",
|
6
|
-
"people": [
|
7
|
-
{
|
8
|
-
"github": "andersonmills",
|
9
|
-
"email": "anderson@puppet.com",
|
10
|
-
"name": "Anderson Mills"
|
11
|
-
},
|
12
|
-
{
|
13
|
-
"github": "scotje",
|
14
|
-
"email": "jesse@puppet.com",
|
15
|
-
"name": "Jesse Scott"
|
16
|
-
}
|
17
|
-
]
|
18
|
-
}
|