r10k 3.7.0 → 3.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +1 -1
  3. data/.github/workflows/docker.yml +4 -1
  4. data/.github/workflows/release.yml +3 -2
  5. data/.github/workflows/rspec_tests.yml +1 -1
  6. data/.github/workflows/stale.yml +19 -0
  7. data/.travis.yml +8 -1
  8. data/CHANGELOG.mkd +32 -0
  9. data/CODEOWNERS +2 -2
  10. data/doc/common-patterns.mkd +1 -0
  11. data/doc/dynamic-environments/configuration.mkd +114 -42
  12. data/doc/dynamic-environments/usage.mkd +12 -11
  13. data/doc/puppetfile.mkd +23 -3
  14. data/docker/Gemfile +1 -1
  15. data/docker/Makefile +4 -3
  16. data/docker/docker-compose.yml +18 -0
  17. data/docker/r10k/Dockerfile +1 -1
  18. data/docker/r10k/docker-entrypoint.sh +0 -1
  19. data/docker/r10k/release.Dockerfile +1 -1
  20. data/docker/spec/dockerfile_spec.rb +26 -32
  21. data/integration/tests/git_source/git_source_repeated_remote.rb +2 -2
  22. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb +2 -1
  23. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb +2 -1
  24. data/integration/tests/user_scenario/basic_workflow/multi_source_custom_forge_git_module.rb +1 -1
  25. data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_git_module.rb +2 -1
  26. data/lib/r10k/action/base.rb +10 -0
  27. data/lib/r10k/action/deploy/display.rb +49 -10
  28. data/lib/r10k/action/deploy/environment.rb +101 -51
  29. data/lib/r10k/action/deploy/module.rb +54 -30
  30. data/lib/r10k/action/puppetfile/check.rb +3 -1
  31. data/lib/r10k/action/puppetfile/install.rb +20 -23
  32. data/lib/r10k/action/puppetfile/purge.rb +8 -2
  33. data/lib/r10k/action/runner.rb +33 -0
  34. data/lib/r10k/cli/deploy.rb +13 -7
  35. data/lib/r10k/cli/puppetfile.rb +5 -5
  36. data/lib/r10k/content_synchronizer.rb +83 -0
  37. data/lib/r10k/deployment.rb +1 -1
  38. data/lib/r10k/environment/base.rb +29 -2
  39. data/lib/r10k/environment/git.rb +17 -5
  40. data/lib/r10k/environment/name.rb +22 -4
  41. data/lib/r10k/environment/svn.rb +11 -4
  42. data/lib/r10k/environment/with_modules.rb +46 -30
  43. data/lib/r10k/git.rb +1 -0
  44. data/lib/r10k/git/rugged/credentials.rb +39 -2
  45. data/lib/r10k/initializers.rb +1 -0
  46. data/lib/r10k/module.rb +1 -1
  47. data/lib/r10k/module/base.rb +17 -1
  48. data/lib/r10k/module/forge.rb +29 -11
  49. data/lib/r10k/module/git.rb +50 -27
  50. data/lib/r10k/module/local.rb +2 -1
  51. data/lib/r10k/module/svn.rb +24 -18
  52. data/lib/r10k/puppetfile.rb +66 -83
  53. data/lib/r10k/settings.rb +18 -2
  54. data/lib/r10k/source/base.rb +9 -0
  55. data/lib/r10k/source/git.rb +18 -7
  56. data/lib/r10k/source/hash.rb +5 -5
  57. data/lib/r10k/source/svn.rb +5 -3
  58. data/lib/r10k/util/cleaner.rb +21 -0
  59. data/lib/r10k/util/setopts.rb +33 -12
  60. data/lib/r10k/version.rb +1 -1
  61. data/locales/r10k.pot +98 -82
  62. data/r10k.gemspec +1 -1
  63. data/spec/fixtures/unit/action/r10k_creds.yaml +9 -0
  64. data/spec/r10k-mocks/mock_source.rb +1 -1
  65. data/spec/shared-examples/puppetfile-action.rb +7 -7
  66. data/spec/unit/action/deploy/display_spec.rb +35 -5
  67. data/spec/unit/action/deploy/environment_spec.rb +199 -38
  68. data/spec/unit/action/deploy/module_spec.rb +162 -28
  69. data/spec/unit/action/puppetfile/check_spec.rb +2 -2
  70. data/spec/unit/action/puppetfile/install_spec.rb +31 -10
  71. data/spec/unit/action/puppetfile/purge_spec.rb +25 -5
  72. data/spec/unit/action/runner_spec.rb +48 -1
  73. data/spec/unit/environment/git_spec.rb +19 -2
  74. data/spec/unit/environment/name_spec.rb +28 -0
  75. data/spec/unit/environment/svn_spec.rb +12 -0
  76. data/spec/unit/environment/with_modules_spec.rb +74 -0
  77. data/spec/unit/git/rugged/credentials_spec.rb +78 -1
  78. data/spec/unit/module/forge_spec.rb +21 -13
  79. data/spec/unit/module/git_spec.rb +63 -8
  80. data/spec/unit/module_spec.rb +77 -10
  81. data/spec/unit/puppetfile_spec.rb +63 -60
  82. data/spec/unit/util/purgeable_spec.rb +2 -8
  83. data/spec/unit/util/setopts_spec.rb +25 -1
  84. metadata +11 -12
  85. data/azure-pipelines.yml +0 -87
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8b9e50ee8c5d0887c46aaf294074c57626229cb19218fc08dd87f5ae1812888
4
- data.tar.gz: 96c59ea0332a86792c6922f354fdf5bed5c9cb31a37b608e09692fbce00cb1bb
3
+ metadata.gz: 46561d19b47798865a0cb7a986deb0dc5f4fadc9094414ca25958a41395f07fa
4
+ data.tar.gz: 3d604c77ed0d1735127c18737a1bbb0aacc65ad17a789e4b154e05283e240ac3
5
5
  SHA512:
6
- metadata.gz: 45e41d47b78d5951e533f6b2dece2f2f127610b6ac6a9d3d95927699eb11369159add33e467198e0b7869442c1803b5e183e02a44c00ccc8eadf43aabf263b8e
7
- data.tar.gz: 4790f4189c4e15502cfc633d52605e000a9607acc1b59ec2b011d14736eed3dbcb05333e3bb2817d6bad3e08603c8472267f3a19dca0d64c3f1df10c99eb4200
6
+ metadata.gz: bfff74f4746cf25caf1586e6cfd4dea01e810203d59dab4de2072d35ba42bd90e5f1e2a904e117c1fba63de20666ab4b98f26ad6552ecfd1b4ce6c814eb65c0b
7
+ data.tar.gz: 5a3972217637238fd8f9bfd1c810e26a901764b496d7dc195c26a0c567111ab03c621e4cef20564f4c8ef57c6292255a8871625ffe3e15597ba6765d39428002
@@ -1,4 +1,4 @@
1
1
  Please add all notable changes to the "Unreleased" section of the CHANGELOG in the format:
2
2
  ```
3
- - Summary of changes. [Issue or PR #](link to issue or PR)
3
+ - (JIRA ticket) Summary of changes. [Issue or PR #](link to issue or PR)
4
4
  ```
@@ -29,7 +29,10 @@ jobs:
29
29
  - run: gem install bundler
30
30
  - name: Build container
31
31
  working-directory: docker
32
- run: make lint build test
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
- - master
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.17.2
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.
@@ -3,7 +3,7 @@ name: Rspec tests
3
3
  on:
4
4
  pull_request:
5
5
  branches:
6
- - master
6
+ - main
7
7
 
8
8
  jobs:
9
9
  rspec_tests:
@@ -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.25.5
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 @adrienthebo @dhollinger
2
- /docker/ @puppetlabs/pupperware
1
+ * @puppetlabs/puppetserver-maintainers
2
+ /docker/ @puppetlabs/platform-services
@@ -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 `--puppetfile` flag being set. However,
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 `--puppetfile` flag is set. Additionally, no environment-level content
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\_whitelist
269
+ #### purge\_allowlist
270
270
 
271
- The `purge_whitelist` setting exempts the specified filename patterns from
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 whitelist.
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 whitelist value of
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 whitelist pattern may still be removed if they exist in
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
- whitelist rule to preserve the containing folder is required.
288
+ allowlist rule to preserve the containing folder is required.
289
289
 
290
290
  ```yaml
291
291
  ---
292
292
  deploy:
293
- purge_whitelist: [ 'custom.json', '**/*.xpp' ]
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
- remote: git@github.com:puppetlabs/control-repo.git
573
- ref: 8820892
589
+ source: git@github.com:puppetlabs/control-repo.git
590
+ version: 8820892
574
591
 
575
592
  development:
576
593
  type: git
577
- remote: git@github.com:puppetlabs/control-repo.git
578
- ref: 8820892
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
- remote: git@github.com:puppetlabs/control-repo.git
610
- ref: 8820892
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
- remote: git@github.com:puppetlabs/control-repo.git
640
- ref: 8820892
656
+ source: git@github.com:puppetlabs/control-repo.git
657
+ version: 8820892
641
658
  modules:
642
- puppetlabs-stdlib: 6.0.0
643
- puppetlabs-concat: 6.1.0
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
- git: https://github.com/reidmv/reidmv-xampl.git
646
- ref: 62d07f2
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
- remote: git@github.com:puppetlabs/control-repo.git
651
- ref: 8820892
672
+ source: git@github.com:puppetlabs/control-repo.git
673
+ version: 8820892
652
674
  modules:
653
- puppetlabs-stdlib: 6.2.0
654
- puppetlabs-concat: 6.1.0
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
- git: https://github.com/reidmv/reidmv-xampl.git
657
- ref: 62d07f2
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
- remote: git@github.com:puppetlabs/control-repo.git
667
- ref: 8820892
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: 6.0.0
670
- puppetlabs-concat: 6.1.0
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
- git: https://github.com/reidmv/reidmv-xampl.git
673
- ref: 62d07f2
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: 6.0.0
688
- puppetlabs-concat: 6.1.0
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
- git: https://github.com/reidmv/reidmv-xampl.git
691
- ref: 62d07f2
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: 6.0.0
697
- puppetlabs-concat: 6.1.0
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
- git: https://github.com/reidmv/reidmv-xampl.git
700
- ref: 62d07f2
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 --puppetfile
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 running r10k, is
28
- is also the slowest by a very large degree because it does the maximum possible
29
- work. This should not be something you run interactively, or use on a regular
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 --puppetfile
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 --puppetfile --default-branch-override default_branch_override
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, overrideing
70
- the :default_branch entry in the Puppetfile of each module. This is used primarily to allow
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
- is only ever utilized if the desired ref cannot be located.
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