r10k 3.4.1 → 3.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/pull_request_template.md +4 -1
- data/.github/workflows/docker.yml +25 -1
- data/.github/workflows/rspec_tests.yml +81 -0
- data/.travis.yml +19 -8
- data/CHANGELOG.mkd +46 -6
- data/Gemfile +1 -1
- data/README.mkd +13 -4
- data/azure-pipelines.yml +4 -2
- data/doc/dynamic-environments/configuration.mkd +49 -3
- data/doc/faq.mkd +6 -1
- data/doc/puppetfile.mkd +2 -0
- data/docker/Makefile +19 -3
- data/docker/r10k/Dockerfile +22 -8
- data/docker/r10k/release.Dockerfile +23 -4
- data/integration/tests/git_source/git_source_repeated_remote.rb +68 -0
- data/integration/tests/user_scenario/complex_workflow/multi_env_add_change_remove.rb +1 -1
- data/integration/tests/user_scenario/complex_workflow/multi_env_remove_re-add.rb +1 -1
- data/integration/tests/user_scenario/complex_workflow/multi_env_unamanaged.rb +1 -1
- data/lib/r10k/action/deploy/environment.rb +6 -1
- data/lib/r10k/action/deploy/module.rb +2 -1
- data/lib/r10k/action/runner.rb +5 -4
- data/lib/r10k/cli/deploy.rb +1 -0
- data/lib/r10k/environment/base.rb +1 -1
- data/lib/r10k/forge/module_release.rb +2 -2
- data/lib/r10k/git/cache.rb +12 -4
- data/lib/r10k/git/stateful_repository.rb +4 -0
- data/lib/r10k/initializers.rb +1 -0
- data/lib/r10k/module/base.rb +8 -0
- data/lib/r10k/module/git.rb +4 -0
- data/lib/r10k/puppetfile.rb +26 -6
- data/lib/r10k/settings.rb +12 -1
- data/lib/r10k/source.rb +1 -0
- data/lib/r10k/source/exec.rb +51 -0
- data/lib/r10k/source/git.rb +22 -2
- data/lib/r10k/source/hash.rb +32 -8
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +33 -10
- data/spec/shared-examples/subprocess-runner.rb +11 -5
- data/spec/unit/action/deploy/environment_spec.rb +9 -0
- data/spec/unit/action/deploy/module_spec.rb +15 -2
- data/spec/unit/action/puppetfile/install_spec.rb +4 -1
- data/spec/unit/action/runner_spec.rb +2 -2
- data/spec/unit/forge/module_release_spec.rb +14 -10
- data/spec/unit/git/cache_spec.rb +10 -0
- data/spec/unit/git/rugged/credentials_spec.rb +1 -1
- data/spec/unit/git_spec.rb +3 -3
- data/spec/unit/puppetfile_spec.rb +67 -2
- data/spec/unit/settings_spec.rb +12 -0
- data/spec/unit/source/exec_spec.rb +81 -0
- data/spec/unit/source/git_spec.rb +49 -1
- data/spec/unit/source/hash_spec.rb +54 -0
- data/spec/unit/source/yaml_spec.rb +42 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8b9e50ee8c5d0887c46aaf294074c57626229cb19218fc08dd87f5ae1812888
|
4
|
+
data.tar.gz: 96c59ea0332a86792c6922f354fdf5bed5c9cb31a37b608e09692fbce00cb1bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45e41d47b78d5951e533f6b2dece2f2f127610b6ac6a9d3d95927699eb11369159add33e467198e0b7869442c1803b5e183e02a44c00ccc8eadf43aabf263b8e
|
7
|
+
data.tar.gz: 4790f4189c4e15502cfc633d52605e000a9607acc1b59ec2b011d14736eed3dbcb05333e3bb2817d6bad3e08603c8472267f3a19dca0d64c3f1df10c99eb4200
|
@@ -10,6 +10,7 @@ jobs:
|
|
10
10
|
env:
|
11
11
|
PUPPERWARE_ANALYTICS_STREAM: production
|
12
12
|
IS_LATEST: true
|
13
|
+
# Still need these env vars for README publishing
|
13
14
|
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
14
15
|
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
|
15
16
|
|
@@ -17,6 +18,10 @@ jobs:
|
|
17
18
|
|
18
19
|
steps:
|
19
20
|
- uses: actions/checkout@master
|
21
|
+
- uses: azure/docker-login@v1
|
22
|
+
with: # This doesn't seem to work unless we point directly to the secrets
|
23
|
+
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
24
|
+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
20
25
|
- name: Set up Ruby 2.6
|
21
26
|
uses: actions/setup-ruby@v1
|
22
27
|
with:
|
@@ -28,5 +33,24 @@ jobs:
|
|
28
33
|
- name: Publish container
|
29
34
|
working-directory: docker
|
30
35
|
run: |
|
31
|
-
docker login -u "$DOCKERHUB_USERNAME" -p "$DOCKERHUB_PASSWORD"
|
32
36
|
make publish
|
37
|
+
- name: Build release container
|
38
|
+
env:
|
39
|
+
IS_RELEASE: true
|
40
|
+
working-directory: docker
|
41
|
+
run: |
|
42
|
+
if make prep; then
|
43
|
+
make lint build test
|
44
|
+
else
|
45
|
+
echo "Skipping release container building and testing"
|
46
|
+
fi
|
47
|
+
- name: Publish release container
|
48
|
+
env:
|
49
|
+
IS_RELEASE: true
|
50
|
+
working-directory: docker
|
51
|
+
run: |
|
52
|
+
if make prep; then
|
53
|
+
make publish
|
54
|
+
else
|
55
|
+
echo "Skipping release container publishing"
|
56
|
+
fi
|
@@ -0,0 +1,81 @@
|
|
1
|
+
name: Rspec tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
branches:
|
6
|
+
- master
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
rspec_tests:
|
10
|
+
name: ${{ matrix.cfg.os }}(ruby ${{ matrix.cfg.ruby }})
|
11
|
+
strategy:
|
12
|
+
matrix:
|
13
|
+
cfg:
|
14
|
+
- {os: ubuntu-18.04, ruby: 2.4}
|
15
|
+
- {os: ubuntu-18.04, ruby: 2.5}
|
16
|
+
- {os: ubuntu-18.04, ruby: 2.6}
|
17
|
+
- {os: ubuntu-18.04, ruby: 2.7}
|
18
|
+
- {os: ubuntu-18.04, ruby: jruby-9.2.9.0}
|
19
|
+
- {os: windows-2016, ruby: 2.5}
|
20
|
+
- {os: windows-2016, ruby: 2.6}
|
21
|
+
- {os: windows-2016, ruby: 2.7}
|
22
|
+
|
23
|
+
runs-on: ${{ matrix.cfg.os }}
|
24
|
+
steps:
|
25
|
+
- name: Checkout current PR
|
26
|
+
uses: actions/checkout@v2
|
27
|
+
|
28
|
+
- name: Install ruby version ${{ matrix.cfg.ruby }}
|
29
|
+
uses: ruby/setup-ruby@v1
|
30
|
+
with:
|
31
|
+
ruby-version: ${{ matrix.cfg.ruby }}
|
32
|
+
|
33
|
+
- name: Install bundler and gems
|
34
|
+
run: |
|
35
|
+
gem install bundler
|
36
|
+
bundle config set without packaging documentation
|
37
|
+
bundle install --jobs 4 --retry 3
|
38
|
+
|
39
|
+
- name: Run tests on Windows
|
40
|
+
if: runner.os == 'Windows'
|
41
|
+
run: |
|
42
|
+
# https://github.com/ruby/ruby/pull/2791/files#diff-ff5ff976e81bebd977f0834e60416abbR97-R100
|
43
|
+
# Actions uses UTF8, causes test failures, similar to normal OS setup
|
44
|
+
$PSDefaultParameterValues['*:Encoding'] = 'utf8'
|
45
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("IBM437")
|
46
|
+
[Console]::InputEncoding = [System.Text.Encoding]::GetEncoding("IBM437")
|
47
|
+
$Env:LOG_SPEC_ORDER = 'true'
|
48
|
+
|
49
|
+
# debug information
|
50
|
+
chcp
|
51
|
+
Get-WinSystemLocale
|
52
|
+
Get-ChildItem Env: | % { Write-Output "$($_.Key): $($_.Value)" }
|
53
|
+
# list current OpenSSL install
|
54
|
+
gem list openssl
|
55
|
+
ruby -ropenssl -e 'puts \"OpenSSL Version - #{OpenSSL::OPENSSL_VERSION}\"; puts \"OpenSSL Library Version - #{OpenSSL::OPENSSL_LIBRARY_VERSION}\"'
|
56
|
+
Get-Content Gemfile.lock
|
57
|
+
ruby -v
|
58
|
+
gem --version
|
59
|
+
bundle --version
|
60
|
+
|
61
|
+
# Run tests
|
62
|
+
bundle exec rspec --color --format documentation spec/unit
|
63
|
+
|
64
|
+
- name: Run tests on Linux
|
65
|
+
if: runner.os == 'Linux'
|
66
|
+
run: |
|
67
|
+
# debug information
|
68
|
+
cat Gemfile.lock
|
69
|
+
ruby -v
|
70
|
+
gem --version
|
71
|
+
bundle --version
|
72
|
+
|
73
|
+
if [[ ${{ matrix.cfg.ruby }} =~ "jruby" ]]; then
|
74
|
+
export _JAVA_OPTIONS='-Xmx1024m -Xms512m'
|
75
|
+
|
76
|
+
# workaround for PUP-10683
|
77
|
+
sudo apt remove rpm
|
78
|
+
fi
|
79
|
+
|
80
|
+
# Run tests
|
81
|
+
bundle exec rspec --color --format documentation spec/unit
|
data/.travis.yml
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
---
|
2
2
|
language: ruby
|
3
|
-
services:
|
4
|
-
- docker
|
5
3
|
bundler_args: "--without system"
|
6
4
|
script: "bundle exec rspec --color --format documentation spec/unit"
|
7
5
|
notifications:
|
8
6
|
email: false
|
9
7
|
sudo: false
|
10
8
|
jdk:
|
11
|
-
-
|
9
|
+
- openjdk11
|
12
10
|
before_install: gem install bundler -v '< 2' --no-document
|
13
11
|
matrix:
|
14
12
|
include:
|
@@ -25,10 +23,23 @@ matrix:
|
|
25
23
|
- stage: r10k tests
|
26
24
|
rvm: jruby
|
27
25
|
- stage: r10k container tests
|
26
|
+
dist: focal
|
28
27
|
language: ruby
|
29
|
-
|
28
|
+
services:
|
29
|
+
- docker
|
30
|
+
rvm: 2.6.6
|
31
|
+
env:
|
32
|
+
- DOCKER_COMPOSE_VERSION=1.25.5
|
33
|
+
# necessary to prevent overwhelming TravisCI build output limits
|
34
|
+
- DOCKER_BUILD_FLAGS="--progress plain"
|
35
|
+
before_install:
|
36
|
+
- sudo rm /usr/local/bin/docker-compose
|
37
|
+
- curl --location https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname --kernel-name`-`uname --machine` > docker-compose
|
38
|
+
- chmod +x docker-compose
|
39
|
+
- sudo mv docker-compose /usr/local/bin
|
30
40
|
script:
|
31
|
-
-
|
32
|
-
|
33
|
-
|
34
|
-
|
41
|
+
- set -e
|
42
|
+
- cd docker
|
43
|
+
- make lint
|
44
|
+
- make build
|
45
|
+
- make test
|
data/CHANGELOG.mkd
CHANGED
@@ -2,10 +2,45 @@ CHANGELOG
|
|
2
2
|
=========
|
3
3
|
|
4
4
|
Unreleased
|
5
|
-
|
5
|
+
----------
|
6
|
+
|
7
|
+
3.7.0
|
8
|
+
-----
|
9
|
+
|
10
|
+
- Use %LOCALAPPDATA% for Windows cachedir [#1049](https://github.com/puppetlabs/r10k/issues/1049)
|
11
|
+
- Add support for defining custom puppet.conf when generating types [#993](https://github.com/puppetlabs/r10k/pull/993)
|
12
|
+
- Update test cases to account for error message changes in Puppet 7
|
13
|
+
|
14
|
+
3.6.0
|
15
|
+
-----
|
16
|
+
|
17
|
+
- Add filter_command configuration option for git repositories. (Thanks to [mhumpula](https://github.com/mhumpula) for the feature.) [#823](https://github.com/puppetlabs/r10k/pull/823)
|
18
|
+
- Increase default pool_size to 4, allowing modules to be downloaded on 4 threads concurrently. [#1038](https://github.com/puppetlabs/r10k/issues/1038)
|
19
|
+
- Ensure that modules that share a cachedir download serially, to avoid cache corruption. [#1058](https://github.com/puppetlabs/r10k/issues/1058)
|
20
|
+
- Don't purge root when using `puppetfile install`. [#1084](https://github.com/puppetlabs/r10k/issues/1084)
|
21
|
+
|
22
|
+
3.5.2
|
23
|
+
-----
|
24
|
+
|
25
|
+
- (RK-319) Clean up tmp directories used for downloading modules
|
26
|
+
|
27
|
+
3.5.1
|
28
|
+
-----
|
29
|
+
|
30
|
+
- Upgrade Rugged Gemfile dependency for local development to ~> 1.0
|
31
|
+
|
32
|
+
3.5.0
|
33
|
+
-----
|
34
|
+
|
35
|
+
- Add exec environment source type. The exec source type allows for the
|
36
|
+
implementation of external environment sources
|
37
|
+
[#1042](https://github.com/puppetlabs/r10k/pull/1042).
|
38
|
+
- Improve atomicity of .r10k-deploy.json writes. Fixes
|
39
|
+
[#813](https://github.com/puppetlabs/r10k/issues/813)
|
6
40
|
|
7
41
|
3.4.1
|
8
|
-
|
42
|
+
-----
|
43
|
+
|
9
44
|
- Add support for Ruby 2.7
|
10
45
|
- (RK-357) Restrict gettext and fast_gettext versions for compatibility with Ruby 2.4
|
11
46
|
- Bump cri to 2.15.10
|
@@ -155,6 +190,11 @@ Ruby >= 2.3 official and documented.
|
|
155
190
|
- Unable to parse Puppetfile
|
156
191
|
- Various perfomance improvements
|
157
192
|
|
193
|
+
2.6.9
|
194
|
+
----
|
195
|
+
|
196
|
+
- Don't purge root when using `puppetfile install`. [#1084](https://github.com/puppetlabs/r10k/issues/1084)
|
197
|
+
|
158
198
|
2.6.8
|
159
199
|
----
|
160
200
|
|
@@ -383,7 +423,7 @@ Puppetfile should be installed to. See the [Puppetfile documentation](https://gi
|
|
383
423
|
|
384
424
|
You can now configure how r10k purges unmanaged content after a deployment. The
|
385
425
|
default behavior should be unchanged but there is a new "purge\_levels" configuration
|
386
|
-
option that can be used to enable new behavior or de-activate certain existing
|
426
|
+
option that can be used to enable new behavior or de-activate certain existing
|
387
427
|
behaviors. See the relevant [configuration documentation](https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd#purge_levels) for more details.
|
388
428
|
|
389
429
|
(RK-223) Ability to track control repo branch from content declarations.
|
@@ -430,7 +470,7 @@ fix.)
|
|
430
470
|
Previously, r10k only supported the use of HTTP proxies for connecting to the Puppet
|
431
471
|
Forge. With these changes, r10k can now be configured to use an HTTP proxy for both
|
432
472
|
Forge and Git operations. Configuration can be specified globally, for Forge or Git
|
433
|
-
only, or on a per-Git repository basis. See [configuration documentation](https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd)
|
473
|
+
only, or on a per-Git repository basis. See [configuration documentation](https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd)
|
434
474
|
for more details.
|
435
475
|
|
436
476
|
### Bug Fixes
|
@@ -451,9 +491,9 @@ for SSH.
|
|
451
491
|
(RK-241) "deploy display" action does not properly format wrapped exceptions
|
452
492
|
|
453
493
|
The "deploy display" action was not capturing and logging exceptions in the same way as
|
454
|
-
other related actions. This meant that in many cases, when an error occurred, the
|
494
|
+
other related actions. This meant that in many cases, when an error occurred, the
|
455
495
|
underlying cause was not being shown. Specifically, the "deploy display" action was
|
456
|
-
not benefitting from the improved error messaging for unreadable SSH keys which was
|
496
|
+
not benefitting from the improved error messaging for unreadable SSH keys which was
|
457
497
|
added in r10k 2.2.0 as part of RK-220.
|
458
498
|
|
459
499
|
2.2.1
|
data/Gemfile
CHANGED
data/README.mkd
CHANGED
@@ -17,8 +17,8 @@ implementation of Puppet [environments][workflow].
|
|
17
17
|
Requirements
|
18
18
|
------------
|
19
19
|
|
20
|
-
R10k supports the Ruby versions `>= 2.
|
21
|
-
Ruby 2.
|
20
|
+
R10k supports the Ruby versions `>= 2.4.0`. It's tested on Ruby 2.4.0 up to
|
21
|
+
Ruby 2.7.0 + Jruby.
|
22
22
|
|
23
23
|
R10k requires additional components, depending on how you plan on managing
|
24
24
|
environments and modules.
|
@@ -98,6 +98,14 @@ When localizing the strings found in R10k, follow the prescribed
|
|
98
98
|
The workflow describes the rake tasks provided to generate the .po files for
|
99
99
|
each locale.
|
100
100
|
|
101
|
+
Releasing
|
102
|
+
---------
|
103
|
+
To release a new version of the r10k gem, ensure the [changelog](CHANGELOG.mkd) is up to date and open a pull request updating the [version file](lib/r10k/version.rb). When the PR is merged, a new release of the gem will be triggered.
|
104
|
+
|
105
|
+
By default, a patch (Z) release will be triggered. To release a new major (X) or minor (Y) version, include `#major` or `#minor` (respectively) in your commit message to trigger the appropriate release.
|
106
|
+
|
107
|
+
NOTE: This currently only works for the default branch. If you would like to release from a different branch, please contact the [CODEOWNERS](CODEOWNERS).
|
108
|
+
|
101
109
|
Getting help
|
102
110
|
------------
|
103
111
|
|
@@ -113,6 +121,7 @@ Please see the CHANGELOG for a listing of the (very awesome) contributors.
|
|
113
121
|
|
114
122
|
## Maintenance
|
115
123
|
|
116
|
-
See [
|
124
|
+
See [CODEOWNERS](CODEOWNERS) for active repo maintainers.
|
125
|
+
|
126
|
+
Open [issues](https://github.com/puppetlabs/r10k/issues) directly in the r10k repo.
|
117
127
|
|
118
|
-
Tickets: File at https://tickets.puppet.com/browse/RK
|
data/azure-pipelines.yml
CHANGED
@@ -17,7 +17,9 @@ variables:
|
|
17
17
|
NAMESPACE: puppet
|
18
18
|
CONTAINER_NAME: r10k
|
19
19
|
CONTAINER_BUILD_PATH: .
|
20
|
-
LINT_IGNORES:
|
20
|
+
LINT_IGNORES:
|
21
|
+
DOCKER_BUILDKIT: 1
|
22
|
+
BUILD_OPTIONS: --build-arg alpine_version=3.9
|
21
23
|
|
22
24
|
workspace:
|
23
25
|
clean: resources
|
@@ -52,7 +54,7 @@ steps:
|
|
52
54
|
|
53
55
|
- powershell: |
|
54
56
|
. "$(bundle show pupperware)/ci/build.ps1"
|
55
|
-
Build-Container -Name $ENV:CONTAINER_NAME -Namespace $ENV:NAMESPACE -PathOrUri $ENV:CONTAINER_BUILD_PATH
|
57
|
+
Build-Container -Name $ENV:CONTAINER_NAME -Namespace $ENV:NAMESPACE -PathOrUri $ENV:CONTAINER_BUILD_PATH -AdditionalOptions ($ENV:BUILD_OPTIONS -split ' ')
|
56
58
|
displayName: Build $(CONTAINER_NAME) Container
|
57
59
|
timeoutInMinutes: 5
|
58
60
|
name: build_container
|
@@ -76,9 +76,9 @@ The proxy server being used will be logged at the "debug" level when r10k runs.
|
|
76
76
|
### pool_size
|
77
77
|
|
78
78
|
The pool_size setting is a number to determine how many threads should be spawn
|
79
|
-
while updating modules. The default value is
|
80
|
-
|
81
|
-
|
79
|
+
while updating modules. The default value is 4, which means modules will be updated
|
80
|
+
in parallel. If this causes issues, change this setting to 1 to cause modules to be
|
81
|
+
updated serially.
|
82
82
|
|
83
83
|
### git
|
84
84
|
|
@@ -327,6 +327,15 @@ deploy:
|
|
327
327
|
puppet_path: '/usr/local/bin/puppet'
|
328
328
|
```
|
329
329
|
|
330
|
+
#### puppet\_conf
|
331
|
+
|
332
|
+
The path to the puppet.conf file used for generating types. Defaults to `/etc/puppetlabs/puppet/puppet.conf`.
|
333
|
+
|
334
|
+
```yaml
|
335
|
+
deploy:
|
336
|
+
puppet_conf: '/opt/puppet/conf/puppet.conf'
|
337
|
+
```
|
338
|
+
|
330
339
|
Source options
|
331
340
|
--------------
|
332
341
|
|
@@ -411,6 +420,29 @@ sources:
|
|
411
420
|
- 'dev'
|
412
421
|
```
|
413
422
|
|
423
|
+
### filter_command
|
424
|
+
|
425
|
+
You can filter out any branch based on the result of the command specified as
|
426
|
+
'filter_command'. Currently it only works with git repository. Non zero return
|
427
|
+
status of the command results in a branch beeing removed. The command is passed
|
428
|
+
additional environment variables
|
429
|
+
|
430
|
+
* GIT_DIR – path to the cached git repository
|
431
|
+
* R10K_BRANCH – branch which is being filtered
|
432
|
+
* R10K_NAME – source name from r10k configuration
|
433
|
+
|
434
|
+
This can be used for example for filtering out the branches with invalid gpg signature of their latest commit
|
435
|
+
|
436
|
+
```yaml
|
437
|
+
---
|
438
|
+
sources:
|
439
|
+
mysource:
|
440
|
+
basedir: '/etc/puppet/environments'
|
441
|
+
filter_command: 'git verify-commit $R10K_BRANCH 2> /dev/null'
|
442
|
+
```
|
443
|
+
|
444
|
+
Beware that if the production branch of manifests is filtered out, you will end up with empty environment.
|
445
|
+
|
414
446
|
Examples
|
415
447
|
--------
|
416
448
|
|
@@ -578,6 +610,20 @@ remote: git@github.com:puppetlabs/control-repo.git
|
|
578
610
|
ref: 8820892
|
579
611
|
```
|
580
612
|
|
613
|
+
### Exec environment Source
|
614
|
+
|
615
|
+
The exec environment source runs an external command which is expected to return on stdout content compatible with the YAML environment source data format. The command may return the data in JSON or YAML form. The exec environment source is similar in purpose to Puppet's exec node terminus, used to implement external node classifiers (ENCs). R10k's exec source type allows the the implementation of external environment sources.
|
616
|
+
|
617
|
+
```yaml
|
618
|
+
# r10k.yaml
|
619
|
+
---
|
620
|
+
sources:
|
621
|
+
puppet:
|
622
|
+
type: exec
|
623
|
+
basedir: /etc/puppetlabs/code/environments
|
624
|
+
command: /usr/local/bin/r10k-environments.sh
|
625
|
+
```
|
626
|
+
|
581
627
|
### Environment Modules
|
582
628
|
|
583
629
|
The environment modules feature allows module content to be attached to an environment at environment definition time. This happens before modules specified in a Puppetfile are attached to an environment, which does not happen until deploy time. Environment module implementation depends on the environment source type.
|
data/doc/faq.mkd
CHANGED
@@ -141,7 +141,7 @@ modulepath = modules:external-modules
|
|
141
141
|
|
142
142
|
Lastly, you can simply move your locally versioned modules to a separate
|
143
143
|
directory to avoid conflicting over the `/modules` directory entirely. With this
|
144
|
-
example as well you can use the `environment.conf file to tell Puppet which
|
144
|
+
example as well you can use the `environment.conf` file to tell Puppet which
|
145
145
|
directories contain modules.
|
146
146
|
|
147
147
|
```
|
@@ -149,6 +149,11 @@ directories contain modules.
|
|
149
149
|
modulepath = internal-modules:modules
|
150
150
|
```
|
151
151
|
|
152
|
+
#### Does R10K support Local/Private Forge?
|
153
|
+
|
154
|
+
Yes. Set the Forge to use _globally_ in `r10k.yaml`. see [Configuration](/doc/dynamic-environments/configuration.mkd#baseurl) for details.
|
155
|
+
|
156
|
+
|
152
157
|
#### What does the name mean?
|
153
158
|
|
154
159
|
It’s called R10K because I’m terrible at names. When I started working on R10K
|
data/doc/puppetfile.mkd
CHANGED
@@ -54,6 +54,8 @@ The `forge` setting specifies which server that Forge based modules are fetched
|
|
54
54
|
from. This is currently a noop and is provided for compatibility with
|
55
55
|
librarian-puppet.
|
56
56
|
|
57
|
+
R10k supports setting the Forge to use _globally_ in `r10k.yaml`. see [Configuration](/doc/dynamic-environments/configuration.mkd#baseurl) for details.
|
58
|
+
|
57
59
|
### moduledir
|
58
60
|
|
59
61
|
The `moduledir` setting specifies where modules from the Puppetfile will be
|