r10k 3.15.1 → 3.15.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.mkd +4 -0
- data/README.mkd +11 -0
- data/lib/r10k/action/puppetfile/install.rb +2 -1
- data/lib/r10k/cli/puppetfile.rb +1 -0
- data/lib/r10k/module_loader/puppetfile.rb +10 -1
- data/lib/r10k/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b8f47b9b316994e718214a6f92e25b7dcd6f9e402e73ddee076920ac65b8317
|
4
|
+
data.tar.gz: '03847035922476e3fc27030c231cbb362ceac63387c4d300443a401eca298f16'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db1c6069ec189325027ee5e4015d1b659afc410f5840daacc7d21b724288c1d9e86c2e55792760d8b13ef981794d18c25db9977a5e56002898de005ca6a54b55
|
7
|
+
data.tar.gz: c3d8dca548fb0e57eba9b9a2df5a37c74d4ebdb74f224e9c03f8ee112f3708c8cc4b9630cfe671c944f30089052d5c4275c5e2a44df3ed015b59e3c710b7b40f
|
data/CHANGELOG.mkd
CHANGED
@@ -4,6 +4,10 @@ CHANGELOG
|
|
4
4
|
Unreleased
|
5
5
|
----------
|
6
6
|
|
7
|
+
3.15.2
|
8
|
+
------
|
9
|
+
- Implement exclude regex for puppetfile install [#1248](https://github.com/puppetlabs/r10k/issues/1248)
|
10
|
+
|
7
11
|
3.15.1
|
8
12
|
------
|
9
13
|
- Add TOC to configuration docs [#1298](https://github.com/puppetlabs/r10k/issues/1298)
|
data/README.mkd
CHANGED
@@ -5,6 +5,13 @@ Puppet environment and module deployment
|
|
5
5
|
|
6
6
|
[![Build Status](https://travis-ci.org/puppetlabs/r10k.png?branch=master)](https://travis-ci.org/puppetlabs/r10k)
|
7
7
|
|
8
|
+
> R10k is supported and maintained by Puppet, but we consider it to be feature complete
|
9
|
+
> and currently have no plans for future feature development. We will keep it working
|
10
|
+
> with current code deployment standards and the Ruby ecosystem that ships with the
|
11
|
+
> puppet-agent package, but any new feature development will come from peer-reviewed
|
12
|
+
> community contributions, with the onus on the contributor and community for validation.
|
13
|
+
|
14
|
+
|
8
15
|
Description
|
9
16
|
-----------
|
10
17
|
|
@@ -14,6 +21,10 @@ R10k provides a general purpose toolset for deploying Puppet environments and
|
|
14
21
|
modules. It implements the [Puppetfile](doc/puppetfile.mkd) format and provides a native
|
15
22
|
implementation of Puppet [environments][workflow].
|
16
23
|
|
24
|
+
You might also consider [g10k](https://github.com/xorpaul/g10k) as a non-ruby
|
25
|
+
based alternative.
|
26
|
+
|
27
|
+
|
17
28
|
Requirements
|
18
29
|
------------
|
19
30
|
|
@@ -14,6 +14,7 @@ module R10K
|
|
14
14
|
options = { basedir: @root, overrides: { force: @force || false } }
|
15
15
|
options[:moduledir] = @moduledir if @moduledir
|
16
16
|
options[:puppetfile] = @puppetfile if @puppetfile
|
17
|
+
options[:module_exclude_regex] = @module_exclude_regex if @module_exclude_regex
|
17
18
|
|
18
19
|
loader = R10K::ModuleLoader::Puppetfile.new(**options)
|
19
20
|
loaded_content = loader.load!
|
@@ -40,7 +41,7 @@ module R10K
|
|
40
41
|
private
|
41
42
|
|
42
43
|
def allowed_initialize_opts
|
43
|
-
super.merge(root: :self, puppetfile: :self, moduledir: :self, force: :self )
|
44
|
+
super.merge(root: :self, puppetfile: :self, moduledir: :self, :'module-exclude-regex' => :self, force: :self )
|
44
45
|
end
|
45
46
|
end
|
46
47
|
end
|
data/lib/r10k/cli/puppetfile.rb
CHANGED
@@ -31,6 +31,7 @@ Puppetfile (http://bombasticmonkey.com/librarian-puppet/).
|
|
31
31
|
summary 'Install all modules from a Puppetfile'
|
32
32
|
option nil, :moduledir, 'Path to install modules to', argument: :required
|
33
33
|
option nil, :puppetfile, 'Path to puppetfile', argument: :required
|
34
|
+
option nil, :'module-exclude-regex', 'A regex to exclude modules from installation. Helpful in CI environments.', argument: :required
|
34
35
|
flag nil, :force, 'Force locally changed files to be overwritten'
|
35
36
|
runner R10K::Action::Puppetfile::CriRunner.wrap(R10K::Action::Puppetfile::Install)
|
36
37
|
end
|
@@ -30,17 +30,21 @@ module R10K
|
|
30
30
|
# @param overrides [Hash] Configuration for loaded modules' behavior
|
31
31
|
# @param environment [R10K::Environment] When provided, the environment
|
32
32
|
# in which loading takes place
|
33
|
+
# @param module_exclude_regex [Regex] A regex to exclude modules from
|
34
|
+
# installation. Helpful in CI environments.
|
33
35
|
def initialize(basedir:,
|
34
36
|
moduledir: DEFAULT_MODULEDIR,
|
35
37
|
puppetfile: DEFAULT_PUPPETFILE_NAME,
|
36
38
|
overrides: {},
|
37
|
-
environment: nil
|
39
|
+
environment: nil,
|
40
|
+
module_exclude_regex: nil)
|
38
41
|
|
39
42
|
@basedir = cleanpath(basedir)
|
40
43
|
@moduledir = resolve_path(@basedir, moduledir)
|
41
44
|
@puppetfile_path = resolve_path(@basedir, puppetfile)
|
42
45
|
@overrides = overrides
|
43
46
|
@environment = environment
|
47
|
+
@module_exclude_regex = module_exclude_regex
|
44
48
|
@environment_name = @environment&.name
|
45
49
|
@default_branch_override = @overrides.dig(:environments, :default_branch_override)
|
46
50
|
@allow_puppetfile_forge = @overrides.dig(:forge, :allow_puppetfile_override)
|
@@ -68,6 +72,7 @@ module R10K
|
|
68
72
|
dsl.instance_eval(puppetfile_content(@puppetfile_path), @puppetfile_path)
|
69
73
|
|
70
74
|
validate_no_duplicate_names(@modules)
|
75
|
+
@modules = filter_modules(@modules, @module_exclude_regex) if @module_exclude_regex
|
71
76
|
|
72
77
|
managed_content = @modules.group_by(&:dirname)
|
73
78
|
|
@@ -223,6 +228,10 @@ module R10K
|
|
223
228
|
return [ install_path, info, spec_deletable ]
|
224
229
|
end
|
225
230
|
|
231
|
+
def filter_modules(modules, exclude_regex)
|
232
|
+
modules.reject { |mod| mod.name =~ /#{exclude_regex}/ }
|
233
|
+
end
|
234
|
+
|
226
235
|
# @param [Array<R10K::Module>] modules
|
227
236
|
def validate_no_duplicate_names(modules)
|
228
237
|
dupes = modules
|
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.15.
|
5
|
+
VERSION = '3.15.2'
|
6
6
|
end
|
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: 3.15.
|
4
|
+
version: 3.15.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|