r10k 3.7.0 → 3.9.3
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 +1 -1
- data/.github/workflows/docker.yml +4 -1
- data/.github/workflows/release.yml +3 -2
- data/.github/workflows/rspec_tests.yml +1 -1
- data/.github/workflows/stale.yml +19 -0
- data/.travis.yml +8 -1
- data/CHANGELOG.mkd +32 -0
- data/CODEOWNERS +2 -2
- data/doc/common-patterns.mkd +1 -0
- data/doc/dynamic-environments/configuration.mkd +114 -42
- data/doc/dynamic-environments/usage.mkd +12 -11
- data/doc/puppetfile.mkd +23 -3
- data/docker/Gemfile +1 -1
- data/docker/Makefile +4 -3
- data/docker/docker-compose.yml +18 -0
- data/docker/r10k/Dockerfile +1 -1
- data/docker/r10k/docker-entrypoint.sh +0 -1
- data/docker/r10k/release.Dockerfile +1 -1
- data/docker/spec/dockerfile_spec.rb +26 -32
- data/integration/tests/git_source/git_source_repeated_remote.rb +2 -2
- data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb +2 -1
- data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb +2 -1
- data/integration/tests/user_scenario/basic_workflow/multi_source_custom_forge_git_module.rb +1 -1
- data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_git_module.rb +2 -1
- data/lib/r10k/action/base.rb +10 -0
- data/lib/r10k/action/deploy/display.rb +49 -10
- data/lib/r10k/action/deploy/environment.rb +101 -51
- data/lib/r10k/action/deploy/module.rb +54 -30
- data/lib/r10k/action/puppetfile/check.rb +3 -1
- data/lib/r10k/action/puppetfile/install.rb +20 -23
- data/lib/r10k/action/puppetfile/purge.rb +8 -2
- data/lib/r10k/action/runner.rb +33 -0
- data/lib/r10k/cli/deploy.rb +13 -7
- data/lib/r10k/cli/puppetfile.rb +5 -5
- data/lib/r10k/content_synchronizer.rb +83 -0
- data/lib/r10k/deployment.rb +1 -1
- data/lib/r10k/environment/base.rb +29 -2
- data/lib/r10k/environment/git.rb +17 -5
- data/lib/r10k/environment/name.rb +22 -4
- data/lib/r10k/environment/svn.rb +11 -4
- data/lib/r10k/environment/with_modules.rb +46 -30
- data/lib/r10k/git.rb +1 -0
- data/lib/r10k/git/rugged/credentials.rb +39 -2
- data/lib/r10k/initializers.rb +1 -0
- data/lib/r10k/module.rb +1 -1
- data/lib/r10k/module/base.rb +17 -1
- data/lib/r10k/module/forge.rb +29 -11
- data/lib/r10k/module/git.rb +50 -27
- data/lib/r10k/module/local.rb +2 -1
- data/lib/r10k/module/svn.rb +24 -18
- data/lib/r10k/puppetfile.rb +66 -83
- data/lib/r10k/settings.rb +18 -2
- data/lib/r10k/source/base.rb +9 -0
- data/lib/r10k/source/git.rb +18 -7
- data/lib/r10k/source/hash.rb +5 -5
- data/lib/r10k/source/svn.rb +5 -3
- data/lib/r10k/util/cleaner.rb +21 -0
- data/lib/r10k/util/setopts.rb +33 -12
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +98 -82
- data/r10k.gemspec +1 -1
- data/spec/fixtures/unit/action/r10k_creds.yaml +9 -0
- data/spec/r10k-mocks/mock_source.rb +1 -1
- data/spec/shared-examples/puppetfile-action.rb +7 -7
- data/spec/unit/action/deploy/display_spec.rb +35 -5
- data/spec/unit/action/deploy/environment_spec.rb +199 -38
- data/spec/unit/action/deploy/module_spec.rb +162 -28
- data/spec/unit/action/puppetfile/check_spec.rb +2 -2
- data/spec/unit/action/puppetfile/install_spec.rb +31 -10
- data/spec/unit/action/puppetfile/purge_spec.rb +25 -5
- data/spec/unit/action/runner_spec.rb +48 -1
- data/spec/unit/environment/git_spec.rb +19 -2
- data/spec/unit/environment/name_spec.rb +28 -0
- data/spec/unit/environment/svn_spec.rb +12 -0
- data/spec/unit/environment/with_modules_spec.rb +74 -0
- data/spec/unit/git/rugged/credentials_spec.rb +78 -1
- data/spec/unit/module/forge_spec.rb +21 -13
- data/spec/unit/module/git_spec.rb +63 -8
- data/spec/unit/module_spec.rb +77 -10
- data/spec/unit/puppetfile_spec.rb +63 -60
- data/spec/unit/util/purgeable_spec.rb +2 -8
- data/spec/unit/util/setopts_spec.rb +25 -1
- metadata +11 -12
- data/azure-pipelines.yml +0 -87
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46561d19b47798865a0cb7a986deb0dc5f4fadc9094414ca25958a41395f07fa
|
4
|
+
data.tar.gz: 3d604c77ed0d1735127c18737a1bbb0aacc65ad17a789e4b154e05283e240ac3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfff74f4746cf25caf1586e6cfd4dea01e810203d59dab4de2072d35ba42bd90e5f1e2a904e117c1fba63de20666ab4b98f26ad6552ecfd1b4ce6c814eb65c0b
|
7
|
+
data.tar.gz: 5a3972217637238fd8f9bfd1c810e26a901764b496d7dc195c26a0c567111ab03c621e4cef20564f4c8ef57c6292255a8871625ffe3e15597ba6765d39428002
|
@@ -29,7 +29,10 @@ jobs:
|
|
29
29
|
- run: gem install bundler
|
30
30
|
- name: Build container
|
31
31
|
working-directory: docker
|
32
|
-
run:
|
32
|
+
run: |
|
33
|
+
docker system prune --all --force --volumes
|
34
|
+
docker builder prune --force --keep-storage=10GB
|
35
|
+
make lint build test
|
33
36
|
- name: Publish container
|
34
37
|
working-directory: docker
|
35
38
|
run: |
|
@@ -3,7 +3,7 @@ name: Tag and release
|
|
3
3
|
on:
|
4
4
|
push:
|
5
5
|
branches:
|
6
|
-
-
|
6
|
+
- main
|
7
7
|
paths:
|
8
8
|
- 'lib/r10k/version.rb'
|
9
9
|
|
@@ -15,10 +15,11 @@ jobs:
|
|
15
15
|
with:
|
16
16
|
fetch-depth: '0'
|
17
17
|
- name: Bump version and push tag
|
18
|
-
uses: anothrNick/github-tag-action@1.
|
18
|
+
uses: anothrNick/github-tag-action@1.35.0
|
19
19
|
env:
|
20
20
|
GITHUB_TOKEN: ${{ secrets.PUPPET_RELEASE_GH_TOKEN }}
|
21
21
|
DEFAULT_BUMP: patch
|
22
|
+
TAG_CONTEXT: branch
|
22
23
|
WITH_V: false
|
23
24
|
# Uncomment this if the tag and version file become out-of-sync and
|
24
25
|
# you need to tag at a specific version.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
name: Mark stale issues
|
2
|
+
|
3
|
+
on:
|
4
|
+
schedule:
|
5
|
+
- cron: "30 1 * * *"
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
stale:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- uses: actions/stale@v3
|
12
|
+
with:
|
13
|
+
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
14
|
+
days-before-stale: 60
|
15
|
+
days-before-close: 7
|
16
|
+
stale-issue-message: 'This issue has been marked stale because it has had no activity for 60 days. The Puppet Team is actively prioritizing existing bugs and new features, if this issue is still important to you please comment and we will add this to our backlog to complete. Otherwise, it will be closed in 7 days.'
|
17
|
+
stale-issue-label: 'stale'
|
18
|
+
stale-pr-message: "This PR has been marked stale because it has had no activity for 60 days. If you are still interested in getting this merged, please comment and we'll try to move it forward. Otherwise, it will be closed in 7 days."
|
19
|
+
stale-pr-label: 'stale'
|
data/.travis.yml
CHANGED
@@ -29,7 +29,8 @@ matrix:
|
|
29
29
|
- docker
|
30
30
|
rvm: 2.6.6
|
31
31
|
env:
|
32
|
-
- DOCKER_COMPOSE_VERSION=1.
|
32
|
+
- DOCKER_COMPOSE_VERSION=1.28.6
|
33
|
+
- DOCKER_BUILDX_VERSION=0.5.1
|
33
34
|
# necessary to prevent overwhelming TravisCI build output limits
|
34
35
|
- DOCKER_BUILD_FLAGS="--progress plain"
|
35
36
|
before_install:
|
@@ -37,9 +38,15 @@ matrix:
|
|
37
38
|
- curl --location https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname --kernel-name`-`uname --machine` > docker-compose
|
38
39
|
- chmod +x docker-compose
|
39
40
|
- sudo mv docker-compose /usr/local/bin
|
41
|
+
- mkdir -vp ~/.docker/cli-plugins
|
42
|
+
- curl --location https://github.com/docker/buildx/releases/download/v${DOCKER_BUILDX_VERSION}/buildx-v${DOCKER_BUILDX_VERSION}.linux-amd64 > ~/.docker/cli-plugins/docker-buildx
|
43
|
+
- chmod +x ~/.docker/cli-plugins/docker-buildx
|
44
|
+
- docker buildx create --name travis_builder --use
|
40
45
|
script:
|
41
46
|
- set -e
|
42
47
|
- cd docker
|
43
48
|
- make lint
|
44
49
|
- make build
|
45
50
|
- make test
|
51
|
+
after_script:
|
52
|
+
- docker buildx rm travis_builder
|
data/CHANGELOG.mkd
CHANGED
@@ -4,6 +4,38 @@ CHANGELOG
|
|
4
4
|
Unreleased
|
5
5
|
----------
|
6
6
|
|
7
|
+
3.9.3
|
8
|
+
-----
|
9
|
+
|
10
|
+
- Fixes a regression when using `--default_branch_override` with Puppetfiles containing Forge modules. [#1173](https://github.com/puppetlabs/r10k/issues/1173)
|
11
|
+
|
12
|
+
3.9.2
|
13
|
+
-----
|
14
|
+
|
15
|
+
- Makes the third parameter to R10K::Actions optional, restoring backwards compatability broken in 3.9.1.
|
16
|
+
|
17
|
+
3.9.1
|
18
|
+
-----
|
19
|
+
|
20
|
+
- Invalid module specifications in a Puppetfile will cause the R10K run to abort earlier than before. Prior to this release, the R10K run would complete, sync all other modules, and return an exit code of 1. R10K will now stop syncing modules and abort immediately. [#1161](https://github.com/puppetlabs/r10k/pull/1161)
|
21
|
+
|
22
|
+
3.9.0
|
23
|
+
-----
|
24
|
+
|
25
|
+
- Add '--modules' flag to `deploy` subcommand as a replacement to '--puppetfile', deprecate '--puppetfile'. [#1147](https://github.com/puppetlabs/r10k/pull/1147)
|
26
|
+
- Deprecate 'purge_whitelist' and favor usage of 'purge_allowlist'. [#1144](https://github.com/puppetlabs/r10k/pull/1144)
|
27
|
+
- Add 'strip\_component' environment source configuration setting, to allow deploying Git branches named like "env/production" as Puppet environments named like "production". [#1128](https://github.com/puppetlabs/r10k/pull/1128)
|
28
|
+
- A warning will be emitted when the user supplies conflicting arguments to module definitions in a Puppetfile, such as when specifying both :commit and :branch [#1130](https://github.com/puppetlabs/r10k/pull/1130)
|
29
|
+
- Add optional standard module and environment specification interface: name, type, source, version. These options can be used when specifying environments and/or modules in a yaml/exec source, as well as when specifying modules in a Puppetfile. Providing the standard interface simplifies integrations with external services [#1131](https://github.com/puppetlabs/r10k/pull/1131)
|
30
|
+
- Pin cri to 2.15.10 to maintain support for Ruby 2.3 and 2.4 [#1121](https://github.com/puppetlabs/r10k/issues/1121)
|
31
|
+
|
32
|
+
3.8.0
|
33
|
+
-----
|
34
|
+
|
35
|
+
- When a forge module fails name validation the offending name will now be printed in the error message. [#1126](https://github.com/puppetlabs/r10k/pull/1126)
|
36
|
+
- Module ref resolution will now fall back to the normal default branch if the default branch override cannot be resolved. [#1122](https://github.com/puppetlabs/r10k/pull/1122)
|
37
|
+
- Experimental feature change: conflicts between environment-defined modules and Puppetfile-defined modules now default to logging a warning and deploying the environment module version, overriding the Puppetfile. Previously, conflicts would result in an error. The behavior is now configurable via the `module_conflicts` environment setting [#1107](https://github.com/puppetlabs/r10k/pull/1107)
|
38
|
+
|
7
39
|
3.7.0
|
8
40
|
-----
|
9
41
|
|
data/CODEOWNERS
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
* @puppetlabs/puppetserver-maintainers
|
2
|
-
/docker/ @puppetlabs/
|
1
|
+
* @puppetlabs/puppetserver-maintainers
|
2
|
+
/docker/ @puppetlabs/platform-services
|
data/doc/common-patterns.mkd
CHANGED
@@ -42,3 +42,4 @@ publicly available hook. These include:
|
|
42
42
|
* [Reaktor](https://github.com/pzim/reaktor)
|
43
43
|
* [zack/r10k's Webhooks](https://forge.puppetlabs.com/zack/r10k#webhook-support)
|
44
44
|
(Puppet Enterprise only)
|
45
|
+
* [Simple Puppet Provisioner](https://github.com/mbaynton/SimplePuppetProvisioner)
|
@@ -249,9 +249,9 @@ found which is neither committed to the control repo branch that maps to that
|
|
249
249
|
environment, nor declared in a Puppetfile committed to that branch.
|
250
250
|
|
251
251
|
Enabling this purge level will cause r10k to load and parse the Puppetfile for
|
252
|
-
the environment even without the `--
|
252
|
+
the environment even without the `--modules` flag being set. However,
|
253
253
|
Puppetfile content will still only be deployed if the environment is new or
|
254
|
-
the `--
|
254
|
+
the `--modules` flag is set. Additionally, no environment-level content
|
255
255
|
will be purged if any errors are encountered while evaluating the Puppetfile
|
256
256
|
or deploying its contents.
|
257
257
|
|
@@ -266,31 +266,31 @@ managed by a Puppetfile include the configured `moduledir` (which defaults to
|
|
266
266
|
"modules") as well as alternate directories specified as an `install_path`
|
267
267
|
option to any Puppetfile content declarations.
|
268
268
|
|
269
|
-
#### purge\
|
269
|
+
#### purge\_allowlist
|
270
270
|
|
271
|
-
The `
|
271
|
+
The `purge_allowlist` setting exempts the specified filename patterns from
|
272
272
|
being purged. This setting is currently only considered during `environment`
|
273
273
|
level purging. (See above.) Given value must be a list of shell style filename
|
274
274
|
patterns in string format.
|
275
275
|
|
276
276
|
See the Ruby [documentation for the `fnmatch` method](http://ruby-doc.org/core-2.2.0/File.html#method-c-fnmatch)
|
277
277
|
for more details on valid patterns. Note that the `FNM_PATHNAME` and
|
278
|
-
`FNM_DOTMATCH` flags are in effect when r10k considers the
|
278
|
+
`FNM_DOTMATCH` flags are in effect when r10k considers the allowlist.
|
279
279
|
|
280
280
|
Patterns are relative to the root of the environment being purged and *do
|
281
|
-
not match recursively* by default. For example, a
|
281
|
+
not match recursively* by default. For example, a allowlist value of
|
282
282
|
`*myfile*` would only preserve a matching file at the root of the
|
283
283
|
environment. To preserve the file throughout the deployed environment,
|
284
284
|
a recursive pattern such as `**/*myfile*` would be required.
|
285
285
|
|
286
|
-
Files matching a
|
286
|
+
Files matching a allowlist pattern may still be removed if they exist in
|
287
287
|
a folder that is otherwise subject to purging. In this case, an additional
|
288
|
-
|
288
|
+
allowlist rule to preserve the containing folder is required.
|
289
289
|
|
290
290
|
```yaml
|
291
291
|
---
|
292
292
|
deploy:
|
293
|
-
|
293
|
+
purge_allowlist: [ 'custom.json', '**/*.xpp' ]
|
294
294
|
```
|
295
295
|
|
296
296
|
|
@@ -394,6 +394,23 @@ sources:
|
|
394
394
|
* if `false` (default) environment folder will not be prefixed
|
395
395
|
* if `String` environment folder will be prefixed with the `prefix` value.
|
396
396
|
|
397
|
+
### strip\_component
|
398
|
+
|
399
|
+
The 'strip\_component' setting allows parts of environment names from a source to have a transformation applied, removing a part of the name before turning them into Puppet environments. This is primarily useful for VCS sources (e.g. Git), because it allows branch names to use prefixes or organizing name components such as "env/production", "env/development", but deploy Puppet environments from these branches named without the leading "env/" component. E.g. "production", "development".
|
400
|
+
|
401
|
+
```yaml
|
402
|
+
---
|
403
|
+
sources:
|
404
|
+
mysource:
|
405
|
+
basedir: '/etc/puppet/environments'
|
406
|
+
strip_component: 'env/'
|
407
|
+
```
|
408
|
+
|
409
|
+
#### strip\_component behaviour
|
410
|
+
|
411
|
+
* if `string` environment names will have this prefix removed, if the prefix is present. Note that when string values are used, names can only have prefix components removed.
|
412
|
+
* if `/regex/` the regex will be matched against environment names and if a match is found, the matching name component will be removed.
|
413
|
+
|
397
414
|
### ignore_branch_prefixes
|
398
415
|
|
399
416
|
The 'ignore_branch_prefixes' setting causes environments to be ignored which match in part or whole
|
@@ -569,13 +586,13 @@ When using the YAML source type, every environment is enumerated in a single yam
|
|
569
586
|
---
|
570
587
|
production:
|
571
588
|
type: git
|
572
|
-
|
573
|
-
|
589
|
+
source: git@github.com:puppetlabs/control-repo.git
|
590
|
+
version: 8820892
|
574
591
|
|
575
592
|
development:
|
576
593
|
type: git
|
577
|
-
|
578
|
-
|
594
|
+
source: git@github.com:puppetlabs/control-repo.git
|
595
|
+
version: 8820892
|
579
596
|
```
|
580
597
|
|
581
598
|
### YAMLdir Environment Source
|
@@ -606,8 +623,8 @@ The contents of the file should be a hash specifying the enviornment type, and a
|
|
606
623
|
# production.yaml
|
607
624
|
---
|
608
625
|
type: git
|
609
|
-
|
610
|
-
|
626
|
+
source: git@github.com:puppetlabs/control-repo.git
|
627
|
+
version: 8820892
|
611
628
|
```
|
612
629
|
|
613
630
|
### Exec environment Source
|
@@ -628,7 +645,7 @@ sources:
|
|
628
645
|
|
629
646
|
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.
|
630
647
|
|
631
|
-
For the YAML environment source type, attach modules to an environment by specifying a modules key for the environment, and providing a hash of modules to attach. Each module accepts the same arguments accepted by the `mod` method in a Puppetfile.
|
648
|
+
For the YAML environment source type, attach modules to an environment by specifying a modules key for the environment, and providing a hash of modules to attach. Each module accepts the same arguments accepted by the `mod` method in a Puppetfile. For ease of reading and consistency, however, it is perferred to use the generic type, source, and version options over implementation-specific formats and options such as "ref" and "git".
|
632
649
|
|
633
650
|
The example below includes two Forge modules and one module sourced from a Git repository. The two environments are almost identical. However, a new version of the stdlib module has been deployed in development (6.2.0), that has not yet been deployed to production.
|
634
651
|
|
@@ -636,25 +653,35 @@ The example below includes two Forge modules and one module sourced from a Git r
|
|
636
653
|
---
|
637
654
|
production:
|
638
655
|
type: git
|
639
|
-
|
640
|
-
|
656
|
+
source: git@github.com:puppetlabs/control-repo.git
|
657
|
+
version: 8820892
|
641
658
|
modules:
|
642
|
-
puppetlabs-stdlib:
|
643
|
-
|
659
|
+
puppetlabs-stdlib:
|
660
|
+
type: forge
|
661
|
+
version: 6.0.0
|
662
|
+
puppetlabs-concat:
|
663
|
+
type: forge
|
664
|
+
version: 6.1.0
|
644
665
|
reidmv-xampl:
|
645
|
-
|
646
|
-
|
666
|
+
type: git
|
667
|
+
source: https://github.com/reidmv/reidmv-xampl.git
|
668
|
+
version: 62d07f2
|
647
669
|
|
648
670
|
development:
|
649
671
|
type: git
|
650
|
-
|
651
|
-
|
672
|
+
source: git@github.com:puppetlabs/control-repo.git
|
673
|
+
version: 8820892
|
652
674
|
modules:
|
653
|
-
puppetlabs-stdlib:
|
654
|
-
|
675
|
+
puppetlabs-stdlib:
|
676
|
+
type: forge
|
677
|
+
version: 6.2.0
|
678
|
+
puppetlabs-concat:
|
679
|
+
type: forge
|
680
|
+
version: 6.1.0
|
655
681
|
reidmv-xampl:
|
656
|
-
|
657
|
-
|
682
|
+
type: git
|
683
|
+
source: https://github.com/reidmv/reidmv-xampl.git
|
684
|
+
version: 62d07f2
|
658
685
|
```
|
659
686
|
|
660
687
|
An example of a single environment definition for the YAMLdir environment source type:
|
@@ -663,14 +690,49 @@ An example of a single environment definition for the YAMLdir environment source
|
|
663
690
|
# production.yaml
|
664
691
|
---
|
665
692
|
type: git
|
666
|
-
|
667
|
-
|
693
|
+
source: git@github.com:puppetlabs/control-repo.git
|
694
|
+
version: 8820892
|
695
|
+
modules:
|
696
|
+
puppetlabs-stdlib:
|
697
|
+
type: forge
|
698
|
+
version: 6.0.0
|
699
|
+
puppetlabs-concat:
|
700
|
+
type: forge
|
701
|
+
version: 6.1.0
|
702
|
+
reidmv-xampl:
|
703
|
+
type: git
|
704
|
+
source: https://github.com/reidmv/reidmv-xampl.git
|
705
|
+
version: 62d07f2
|
706
|
+
```
|
707
|
+
|
708
|
+
#### Puppetfile module conflicts
|
709
|
+
|
710
|
+
When a module is defined in an environment and also in a Puppetfile, the default behavior is for the environment definition of the module to take precedence, a warning to be logged, and the Puppetfile definition to be ignored. The behavior is configurable to optionally skip the warning, or allow a hard failure instead. Use the `module_conflicts` option in an environment definition to control this.
|
711
|
+
|
712
|
+
Available `module_conflicts` options:
|
713
|
+
|
714
|
+
* `override_and_warn` (default): the version of the module defined by the environment will be used, and the version defined in the Puppetfile will be ignored. A warning will be printed.
|
715
|
+
* `override`: the version of the module defined by the environment will be used, and the version defined in the Puppetfile will be ignored.
|
716
|
+
* `error`: an error will be raised alerting the user to the conflict. The environment will not be deployed.
|
717
|
+
|
718
|
+
```yaml
|
719
|
+
# production.yaml
|
720
|
+
---
|
721
|
+
type: git
|
722
|
+
source: git@github.com:puppetlabs/control-repo.git
|
723
|
+
version: 8820892
|
724
|
+
module_conflicts: override_and_warn
|
668
725
|
modules:
|
669
|
-
puppetlabs-stdlib:
|
670
|
-
|
726
|
+
puppetlabs-stdlib:
|
727
|
+
type: forge
|
728
|
+
version: 6.0.0
|
729
|
+
puppetlabs-concat:
|
730
|
+
type: forge
|
731
|
+
version: 6.1.0
|
671
732
|
reidmv-xampl:
|
672
|
-
|
673
|
-
|
733
|
+
type: git
|
734
|
+
source: https://github.com/reidmv/reidmv-xampl.git
|
735
|
+
version: 62d07f2
|
674
736
|
```
|
675
737
|
|
676
738
|
### Bare Environment Type
|
@@ -684,18 +746,28 @@ The bare environment type allows sources that support environment modules to ope
|
|
684
746
|
production:
|
685
747
|
type: bare
|
686
748
|
modules:
|
687
|
-
puppetlabs-stdlib:
|
688
|
-
|
749
|
+
puppetlabs-stdlib:
|
750
|
+
type: forge
|
751
|
+
version: 6.0.0
|
752
|
+
puppetlabs-concat:
|
753
|
+
type: forge
|
754
|
+
version: 6.1.0
|
689
755
|
reidmv-xampl:
|
690
|
-
|
691
|
-
|
756
|
+
type: git
|
757
|
+
source: https://github.com/reidmv/reidmv-xampl.git
|
758
|
+
version: 62d07f2
|
692
759
|
|
693
760
|
development:
|
694
761
|
type: bare
|
695
762
|
modules:
|
696
|
-
puppetlabs-stdlib:
|
697
|
-
|
763
|
+
puppetlabs-stdlib:
|
764
|
+
type: forge
|
765
|
+
version: 6.0.0
|
766
|
+
puppetlabs-concat:
|
767
|
+
type: forge
|
768
|
+
version: 6.1.0
|
698
769
|
reidmv-xampl:
|
699
|
-
|
700
|
-
|
770
|
+
type: git
|
771
|
+
source: https://github.com/reidmv/reidmv-xampl.git
|
772
|
+
version: 62d07f2
|
701
773
|
```
|
@@ -18,16 +18,16 @@ Command line invocation
|
|
18
18
|
|
19
19
|
Recursively update all environments:
|
20
20
|
|
21
|
-
r10k deploy environment --
|
21
|
+
r10k deploy environment --modules
|
22
22
|
|
23
23
|
The simplest way to use r10k is by simply updating all environments and modules
|
24
24
|
and takes the brute force approach of "update everything, ever." When this
|
25
25
|
command is run r10k will update all sources, create new environments and delete
|
26
26
|
old environments, and recursively update all environment modules specified in
|
27
|
-
environment Puppetfiles. While this is the simplest method for
|
28
|
-
is also the slowest by a very large degree because it does the
|
29
|
-
work. This should not be something you run interactively, or
|
30
|
-
basis.
|
27
|
+
environment Puppetfiles, yamldirs, etc. While this is the simplest method for
|
28
|
+
running r10k, it is also the slowest by a very large degree because it does the
|
29
|
+
maximum possible work. This should not be something you run interactively, or
|
30
|
+
use on a regular basis.
|
31
31
|
|
32
32
|
- - -
|
33
33
|
|
@@ -55,7 +55,7 @@ only the environment itself will be updated.
|
|
55
55
|
|
56
56
|
Update a single environment and force an update of modules:
|
57
57
|
|
58
|
-
r10k deploy environment my_working_environment --
|
58
|
+
r10k deploy environment my_working_environment --modules
|
59
59
|
|
60
60
|
This will update the given environment and update all contained modules. This is
|
61
61
|
useful if you want to make sure that a given environment is fully up to date.
|
@@ -64,13 +64,14 @@ useful if you want to make sure that a given environment is fully up to date.
|
|
64
64
|
|
65
65
|
Update a single environment and specify a default branch override:
|
66
66
|
|
67
|
-
r10k deploy environment my_working_environment --
|
67
|
+
r10k deploy environment my_working_environment --modules --default-branch-override default_branch_override
|
68
68
|
|
69
|
-
This will update the given environment and update all contained modules,
|
70
|
-
the :default_branch entry in the Puppetfile of each module.
|
69
|
+
This will update the given environment and update all contained modules, overriding
|
70
|
+
the :default_branch entry in the Puppetfile of each module. If the specified override branch is not
|
71
|
+
found, it will fall back to the normal default branch and attempt to use that. This is used primarily to allow
|
71
72
|
automated r10k solutions using the control_branch pattern with a temporary branch deployment to
|
72
|
-
ensure the deployment is pushed to the correct module repository branch. Note that the :default_branch
|
73
|
-
|
73
|
+
ensure the deployment is pushed to the correct module repository branch. Note that the :default_branch and its
|
74
|
+
override are only ever used if the specific desired ref cannot be located.
|
74
75
|
|
75
76
|
### Deploying modules
|
76
77
|
|