r10k 3.8.0 → 3.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/docker.yml +4 -1
  3. data/.github/workflows/release.yml +3 -2
  4. data/.github/workflows/rspec_tests.yml +1 -1
  5. data/.travis.yml +8 -1
  6. data/CHANGELOG.mkd +10 -0
  7. data/CODEOWNERS +1 -1
  8. data/doc/common-patterns.mkd +1 -0
  9. data/doc/dynamic-environments/configuration.mkd +90 -43
  10. data/doc/dynamic-environments/usage.mkd +7 -7
  11. data/doc/puppetfile.mkd +23 -3
  12. data/docker/Gemfile +1 -1
  13. data/docker/Makefile +4 -3
  14. data/docker/docker-compose.yml +18 -0
  15. data/docker/r10k/Dockerfile +1 -1
  16. data/docker/r10k/docker-entrypoint.sh +0 -1
  17. data/docker/r10k/release.Dockerfile +1 -1
  18. data/docker/spec/dockerfile_spec.rb +26 -32
  19. data/integration/tests/git_source/git_source_repeated_remote.rb +2 -2
  20. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb +2 -1
  21. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb +2 -1
  22. data/integration/tests/user_scenario/basic_workflow/multi_source_custom_forge_git_module.rb +1 -1
  23. data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_git_module.rb +2 -1
  24. data/lib/r10k/action/deploy/display.rb +9 -3
  25. data/lib/r10k/action/deploy/environment.rb +36 -14
  26. data/lib/r10k/cli/deploy.rb +5 -3
  27. data/lib/r10k/environment/base.rb +1 -1
  28. data/lib/r10k/environment/git.rb +17 -2
  29. data/lib/r10k/environment/name.rb +22 -4
  30. data/lib/r10k/environment/svn.rb +11 -2
  31. data/lib/r10k/environment/with_modules.rb +1 -1
  32. data/lib/r10k/git/rugged/credentials.rb +22 -15
  33. data/lib/r10k/module/forge.rb +15 -3
  34. data/lib/r10k/module/git.rb +24 -23
  35. data/lib/r10k/module/local.rb +1 -1
  36. data/lib/r10k/module/svn.rb +14 -11
  37. data/lib/r10k/settings.rb +6 -1
  38. data/lib/r10k/source/base.rb +5 -0
  39. data/lib/r10k/source/git.rb +4 -1
  40. data/lib/r10k/source/hash.rb +4 -2
  41. data/lib/r10k/source/svn.rb +5 -1
  42. data/lib/r10k/util/setopts.rb +33 -12
  43. data/lib/r10k/version.rb +1 -1
  44. data/locales/r10k.pot +22 -18
  45. data/r10k.gemspec +1 -1
  46. data/spec/unit/action/deploy/display_spec.rb +4 -0
  47. data/spec/unit/action/deploy/environment_spec.rb +111 -10
  48. data/spec/unit/environment/git_spec.rb +16 -0
  49. data/spec/unit/environment/name_spec.rb +28 -0
  50. data/spec/unit/environment/svn_spec.rb +12 -0
  51. data/spec/unit/git/rugged/credentials_spec.rb +10 -0
  52. data/spec/unit/module/forge_spec.rb +6 -0
  53. data/spec/unit/module/git_spec.rb +1 -1
  54. data/spec/unit/module_spec.rb +59 -9
  55. data/spec/unit/util/setopts_spec.rb +25 -1
  56. metadata +5 -11
  57. data/azure-pipelines.yml +0 -87
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dddce45b116f972f8efe10ad99c330b60186cfbcdb8747fbab2edc37d8634efb
4
- data.tar.gz: 26ac288406c3e4fb3862aa5ca64aba4b7ed102dcc407ba59d364f094b1491480
3
+ metadata.gz: 7e658209eb66330ab2c2cea4dd4fac0690b6700042e639e5ff11d2fffb120f1b
4
+ data.tar.gz: 870249f76ef6c2b289e3255e6c752d6fc725009a8e37f8b4219f7496a7c0a439
5
5
  SHA512:
6
- metadata.gz: dbe3bd1fbc2ca1f1fee87fb5ce9e613baf9783cd1a728f50e0de65718a50f7321609458a1e60817fee94ec32464b95ebf3ecf32dde5c065ccabe369fdc2c6b0d
7
- data.tar.gz: 1d33d1f5772a71c0e6dae7b36730a810b8d2bc59e8ec71a4639b3e4f38a5394396dd62270a63032619c2a3cadeb1e1066a0242e8d9b4b1436933660aec806eab
6
+ metadata.gz: a01dfae93025bac535c4e18d5f15b800c7bc1df1aa79cf0a2ea565c034767d5c5f0b0e4b41b7954e59310090a25ca67e28e92ab416958b2f91864a3da873d93a
7
+ data.tar.gz: 0631fe1846185c2808bd14be2cca3b182402991476950bae18da0fb19129eb7139fbec3b1f9a3bf1568f09931d0438c9a014380378cce71b01d7b9022364cb7c
@@ -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:
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,16 @@ CHANGELOG
4
4
  Unreleased
5
5
  ----------
6
6
 
7
+ 3.9.0
8
+ -----
9
+
10
+ - Add '--modules' flag to `deploy` subcommand as a replacement to '--puppetfile', deprecate '--puppetfile'. [#1147](https://github.com/puppetlabs/r10k/pull/1147)
11
+ - Deprecate 'purge_whitelist' and favor usage of 'purge_allowlist'. [#1144](https://github.com/puppetlabs/r10k/pull/1144)
12
+ - 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)
13
+ - 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)
14
+ - 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)
15
+ - Pin cri to 2.15.10 to maintain support for Ruby 2.3 and 2.4 [#1121](https://github.com/puppetlabs/r10k/issues/1121)
16
+
7
17
  3.8.0
8
18
  -----
9
19
 
data/CODEOWNERS CHANGED
@@ -1,2 +1,2 @@
1
1
  * @puppetlabs/puppetserver-maintainers
2
- /docker/ @puppetlabs/pupperware
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
@@ -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,19 @@ 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
668
695
  modules:
669
- puppetlabs-stdlib: 6.0.0
670
- puppetlabs-concat: 6.1.0
696
+ puppetlabs-stdlib:
697
+ type: forge
698
+ version: 6.0.0
699
+ puppetlabs-concat:
700
+ type: forge
701
+ version: 6.1.0
671
702
  reidmv-xampl:
672
- git: https://github.com/reidmv/reidmv-xampl.git
673
- ref: 62d07f2
703
+ type: git
704
+ source: https://github.com/reidmv/reidmv-xampl.git
705
+ version: 62d07f2
674
706
  ```
675
707
 
676
708
  #### Puppetfile module conflicts
@@ -687,15 +719,20 @@ Available `module_conflicts` options:
687
719
  # production.yaml
688
720
  ---
689
721
  type: git
690
- remote: git@github.com:puppetlabs/control-repo.git
691
- ref: 8820892
692
- module_conflicts: override_puppetfile_and_warn
722
+ source: git@github.com:puppetlabs/control-repo.git
723
+ version: 8820892
724
+ module_conflicts: override_and_warn
693
725
  modules:
694
- puppetlabs-stdlib: 6.0.0
695
- 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
696
732
  reidmv-xampl:
697
- git: https://github.com/reidmv/reidmv-xampl.git
698
- ref: 62d07f2
733
+ type: git
734
+ source: https://github.com/reidmv/reidmv-xampl.git
735
+ version: 62d07f2
699
736
  ```
700
737
 
701
738
  ### Bare Environment Type
@@ -709,18 +746,28 @@ The bare environment type allows sources that support environment modules to ope
709
746
  production:
710
747
  type: bare
711
748
  modules:
712
- puppetlabs-stdlib: 6.0.0
713
- 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
714
755
  reidmv-xampl:
715
- git: https://github.com/reidmv/reidmv-xampl.git
716
- ref: 62d07f2
756
+ type: git
757
+ source: https://github.com/reidmv/reidmv-xampl.git
758
+ version: 62d07f2
717
759
 
718
760
  development:
719
761
  type: bare
720
762
  modules:
721
- puppetlabs-stdlib: 6.0.0
722
- 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
723
769
  reidmv-xampl:
724
- git: https://github.com/reidmv/reidmv-xampl.git
725
- ref: 62d07f2
770
+ type: git
771
+ source: https://github.com/reidmv/reidmv-xampl.git
772
+ version: 62d07f2
726
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,7 +64,7 @@ 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
69
  This will update the given environment and update all contained modules, overriding
70
70
  the :default_branch entry in the Puppetfile of each module. If the specified override branch is not
data/doc/puppetfile.mkd CHANGED
@@ -109,11 +109,19 @@ latest version available.
109
109
 
110
110
  mod 'puppetlabs/apache', :latest
111
111
 
112
+ An explicit type and/or version can be specified using the standard interface,
113
+ `:type` and `:version`. The `:source` parameter is not supported for individual
114
+ forge modules and will be ignored.
115
+
116
+ mod 'puppetlabs/apache',
117
+ type: 'forge',
118
+ version: '6.0.0'
119
+
112
120
  ### Git
113
121
 
114
122
  Git repositories that contain a Puppet module can be cloned and used as modules.
115
123
  When Git is used, the module version can be specified by using `:ref`, `:tag`,
116
- `:commit`, and `:branch`.
124
+ `:commit`, `:branch`, or the standard interface parameter `:version`.
117
125
 
118
126
  When a module is installed using `:ref`, r10k uses some simple heuristics to
119
127
  determine the type of Git object that should be checked out. This can be used
@@ -153,6 +161,13 @@ mod 'apache',
153
161
  mod 'apache',
154
162
  :git => 'https://github.com/puppetlabs/puppetlabs-apache',
155
163
  :branch => 'docs_experiment'
164
+
165
+ # Install puppetlabs/apache and use standard interface parameters pinned to the
166
+ # '2098a17' commit.
167
+ mod 'puppetlabs-apache',
168
+ type: 'git',
169
+ source: 'https://github.com/puppetlabs/puppetlabs-apache',
170
+ version: '2098a17'
156
171
  ```
157
172
 
158
173
  #### Control Repo Branch Tracking
@@ -195,8 +210,8 @@ the latest version available in the main SVN repository.
195
210
  mod 'apache',
196
211
  :svn => 'https://github.com/puppetlabs/puppetlabs-apache/trunk'
197
212
 
198
- If an SVN revision number is specified with `:rev` (or `:revision`), that
199
- SVN revision will be kept checked out.
213
+ If an SVN revision number is specified with `:rev`, `:revision`, or `:version`,
214
+ that SVN revision will be kept checked out.
200
215
 
201
216
  mod 'apache',
202
217
  :svn => 'https://github.com/puppetlabs/puppetlabs-apache/trunk',
@@ -206,6 +221,11 @@ SVN revision will be kept checked out.
206
221
  :svn => 'https://github.com/puppetlabs/puppetlabs-apache/trunk',
207
222
  :revision => '154'
208
223
 
224
+ mod 'apache',
225
+ type: 'svn',
226
+ source: 'https://github.com/puppetlabs/puppetlabs-apache/trunk',
227
+ version: '154'
228
+
209
229
  If the SVN repository requires credentials, you can supply the `:username` and
210
230
  `:password` options.
211
231
 
data/docker/Gemfile CHANGED
@@ -2,7 +2,7 @@ source "https://rubygems.org"
2
2
 
3
3
  gem 'pupperware',
4
4
  :git => 'https://github.com/puppetlabs/pupperware.git',
5
- :branch => 'master',
5
+ :branch => 'main',
6
6
  :glob => 'gem/*.gemspec'
7
7
 
8
8
  group :test do
data/docker/Makefile CHANGED
@@ -5,12 +5,12 @@ vcs_ref := $(shell git rev-parse HEAD)
5
5
  build_date := $(shell date -u +%FT%T)
6
6
  hadolint_available := $(shell hadolint --help > /dev/null 2>&1; echo $$?)
7
7
  hadolint_command := hadolint
8
- hadolint_container := hadolint/hadolint:latest
8
+ hadolint_container := ghcr.io/hadolint/hadolint:latest
9
9
  alpine_version := 3.9
10
10
  export BUNDLE_PATH = $(PWD)/.bundle/gems
11
11
  export BUNDLE_BIN = $(PWD)/.bundle/bin
12
12
  export GEMFILE = $(PWD)/Gemfile
13
- export DOCKER_BUILDKIT = 1
13
+ export DOCKER_BUILDKIT ?= 1
14
14
 
15
15
  ifeq ($(IS_RELEASE),true)
16
16
  VERSION ?= $(shell echo $(git_describe) | sed 's/-.*//')
@@ -50,8 +50,9 @@ endif
50
50
 
51
51
  build: prep
52
52
  docker pull alpine:$(alpine_version)
53
- docker build \
53
+ docker buildx build \
54
54
  ${DOCKER_BUILD_FLAGS} \
55
+ --load \
55
56
  --build-arg alpine_version=$(alpine_version) \
56
57
  --build-arg vcs_ref=$(vcs_ref) \
57
58
  --build-arg build_date=$(build_date) \