r10k 3.5.2 → 3.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +4 -1
  3. data/.github/workflows/docker.yml +4 -1
  4. data/.github/workflows/release.yml +3 -2
  5. data/.github/workflows/rspec_tests.yml +81 -0
  6. data/.github/workflows/stale.yml +19 -0
  7. data/.travis.yml +8 -1
  8. data/CHANGELOG.mkd +43 -1
  9. data/CODEOWNERS +2 -2
  10. data/README.mkd +13 -4
  11. data/doc/common-patterns.mkd +1 -0
  12. data/doc/dynamic-environments/configuration.mkd +149 -45
  13. data/doc/dynamic-environments/usage.mkd +12 -11
  14. data/doc/puppetfile.mkd +23 -3
  15. data/docker/Gemfile +1 -1
  16. data/docker/Makefile +7 -4
  17. data/docker/docker-compose.yml +18 -0
  18. data/docker/r10k/Dockerfile +4 -3
  19. data/docker/r10k/docker-entrypoint.sh +0 -1
  20. data/docker/r10k/release.Dockerfile +3 -2
  21. data/docker/spec/dockerfile_spec.rb +26 -32
  22. data/integration/tests/git_source/git_source_repeated_remote.rb +68 -0
  23. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb +2 -1
  24. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb +2 -1
  25. data/integration/tests/user_scenario/basic_workflow/multi_source_custom_forge_git_module.rb +1 -1
  26. data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_git_module.rb +2 -1
  27. data/integration/tests/user_scenario/complex_workflow/multi_env_add_change_remove.rb +1 -1
  28. data/integration/tests/user_scenario/complex_workflow/multi_env_remove_re-add.rb +1 -1
  29. data/integration/tests/user_scenario/complex_workflow/multi_env_unamanaged.rb +1 -1
  30. data/lib/r10k/action/base.rb +8 -1
  31. data/lib/r10k/action/deploy/display.rb +46 -10
  32. data/lib/r10k/action/deploy/environment.rb +98 -50
  33. data/lib/r10k/action/deploy/module.rb +51 -29
  34. data/lib/r10k/action/puppetfile/check.rb +3 -1
  35. data/lib/r10k/action/puppetfile/install.rb +20 -23
  36. data/lib/r10k/action/puppetfile/purge.rb +8 -2
  37. data/lib/r10k/action/runner.rb +34 -0
  38. data/lib/r10k/cli/deploy.rb +14 -7
  39. data/lib/r10k/cli/puppetfile.rb +5 -5
  40. data/lib/r10k/content_synchronizer.rb +83 -0
  41. data/lib/r10k/deployment.rb +1 -1
  42. data/lib/r10k/environment/base.rb +30 -3
  43. data/lib/r10k/environment/git.rb +17 -5
  44. data/lib/r10k/environment/name.rb +22 -4
  45. data/lib/r10k/environment/svn.rb +11 -4
  46. data/lib/r10k/environment/with_modules.rb +46 -30
  47. data/lib/r10k/git.rb +1 -0
  48. data/lib/r10k/git/cache.rb +12 -4
  49. data/lib/r10k/git/rugged/credentials.rb +39 -2
  50. data/lib/r10k/git/stateful_repository.rb +4 -0
  51. data/lib/r10k/initializers.rb +2 -0
  52. data/lib/r10k/module.rb +1 -1
  53. data/lib/r10k/module/base.rb +25 -1
  54. data/lib/r10k/module/forge.rb +29 -11
  55. data/lib/r10k/module/git.rb +54 -27
  56. data/lib/r10k/module/local.rb +2 -1
  57. data/lib/r10k/module/svn.rb +24 -18
  58. data/lib/r10k/puppetfile.rb +75 -72
  59. data/lib/r10k/settings.rb +30 -3
  60. data/lib/r10k/source/base.rb +9 -0
  61. data/lib/r10k/source/git.rb +40 -9
  62. data/lib/r10k/source/hash.rb +5 -5
  63. data/lib/r10k/source/svn.rb +5 -3
  64. data/lib/r10k/util/cleaner.rb +21 -0
  65. data/lib/r10k/util/setopts.rb +33 -12
  66. data/lib/r10k/version.rb +1 -1
  67. data/locales/r10k.pot +103 -83
  68. data/r10k.gemspec +1 -1
  69. data/spec/fixtures/unit/action/r10k_creds.yaml +9 -0
  70. data/spec/r10k-mocks/mock_source.rb +1 -1
  71. data/spec/shared-examples/puppetfile-action.rb +7 -7
  72. data/spec/shared-examples/subprocess-runner.rb +11 -5
  73. data/spec/unit/action/deploy/display_spec.rb +35 -5
  74. data/spec/unit/action/deploy/environment_spec.rb +207 -37
  75. data/spec/unit/action/deploy/module_spec.rb +173 -26
  76. data/spec/unit/action/puppetfile/check_spec.rb +2 -2
  77. data/spec/unit/action/puppetfile/install_spec.rb +32 -10
  78. data/spec/unit/action/puppetfile/purge_spec.rb +25 -5
  79. data/spec/unit/action/runner_spec.rb +48 -1
  80. data/spec/unit/environment/git_spec.rb +19 -2
  81. data/spec/unit/environment/name_spec.rb +28 -0
  82. data/spec/unit/environment/svn_spec.rb +12 -0
  83. data/spec/unit/environment/with_modules_spec.rb +74 -0
  84. data/spec/unit/git/cache_spec.rb +10 -0
  85. data/spec/unit/git/rugged/credentials_spec.rb +79 -2
  86. data/spec/unit/git_spec.rb +3 -3
  87. data/spec/unit/module/forge_spec.rb +21 -13
  88. data/spec/unit/module/git_spec.rb +64 -1
  89. data/spec/unit/module_spec.rb +60 -10
  90. data/spec/unit/puppetfile_spec.rb +98 -30
  91. data/spec/unit/settings_spec.rb +12 -0
  92. data/spec/unit/source/git_spec.rb +49 -1
  93. data/spec/unit/util/purgeable_spec.rb +2 -8
  94. data/spec/unit/util/setopts_spec.rb +25 -1
  95. metadata +12 -11
  96. data/azure-pipelines.yml +0 -86
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r10k
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.2
4
+ version: 3.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrien Thebo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-21 00:00:00.000000000 Z
11
+ date: 2021-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored2
@@ -28,22 +28,16 @@ dependencies:
28
28
  name: cri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
33
  version: 2.15.10
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: 3.0.0
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ">="
38
+ - - '='
42
39
  - !ruby/object:Gem::Version
43
40
  version: 2.15.10
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: 3.0.0
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: log4r
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -204,6 +198,8 @@ files:
204
198
  - ".github/pull_request_template.md"
205
199
  - ".github/workflows/docker.yml"
206
200
  - ".github/workflows/release.yml"
201
+ - ".github/workflows/rspec_tests.yml"
202
+ - ".github/workflows/stale.yml"
207
203
  - ".gitignore"
208
204
  - ".travis.yml"
209
205
  - CHANGELOG.mkd
@@ -213,7 +209,6 @@ files:
213
209
  - LICENSE
214
210
  - README.mkd
215
211
  - Rakefile
216
- - azure-pipelines.yml
217
212
  - bin/r10k
218
213
  - doc/common-patterns.mkd
219
214
  - doc/dynamic-environments.mkd
@@ -235,6 +230,7 @@ files:
235
230
  - docker/Gemfile
236
231
  - docker/Makefile
237
232
  - docker/README.md
233
+ - docker/docker-compose.yml
238
234
  - docker/r10k/Dockerfile
239
235
  - docker/r10k/adduser.sh
240
236
  - docker/r10k/docker-entrypoint.d/10-analytics.sh
@@ -282,6 +278,7 @@ files:
282
278
  - integration/tests/command_line/negative/neg_invalid_cmd_line_arg.rb
283
279
  - integration/tests/git_source/HTTP_proxy_and_git_source.rb
284
280
  - integration/tests/git_source/git_source_git.rb
281
+ - integration/tests/git_source/git_source_repeated_remote.rb
285
282
  - integration/tests/git_source/git_source_ssh.rb
286
283
  - integration/tests/git_source/git_source_submodule.rb
287
284
  - integration/tests/git_source/negative/neg_git_broken_remote.rb
@@ -350,6 +347,7 @@ files:
350
347
  - lib/r10k/cli/help.rb
351
348
  - lib/r10k/cli/puppetfile.rb
352
349
  - lib/r10k/cli/version.rb
350
+ - lib/r10k/content_synchronizer.rb
353
351
  - lib/r10k/deployment.rb
354
352
  - lib/r10k/deployment/config.rb
355
353
  - lib/r10k/environment.rb
@@ -419,6 +417,7 @@ files:
419
417
  - lib/r10k/svn/working_dir.rb
420
418
  - lib/r10k/util/attempt.rb
421
419
  - lib/r10k/util/basedir.rb
420
+ - lib/r10k/util/cleaner.rb
422
421
  - lib/r10k/util/commands.rb
423
422
  - lib/r10k/util/exec_env.rb
424
423
  - lib/r10k/util/license.rb
@@ -446,6 +445,7 @@ files:
446
445
  - spec/fixtures/module/forge/eight_hundred/metadata.json
447
446
  - spec/fixtures/unit/action/r10k.yaml
448
447
  - spec/fixtures/unit/action/r10k_cachedir.yaml
448
+ - spec/fixtures/unit/action/r10k_creds.yaml
449
449
  - spec/fixtures/unit/action/r10k_generate_types.yaml
450
450
  - spec/fixtures/unit/action/r10k_puppet_path.yaml
451
451
  - spec/fixtures/unit/puppetfile/argument-error/Puppetfile
@@ -504,6 +504,7 @@ files:
504
504
  - spec/unit/environment/git_spec.rb
505
505
  - spec/unit/environment/name_spec.rb
506
506
  - spec/unit/environment/svn_spec.rb
507
+ - spec/unit/environment/with_modules_spec.rb
507
508
  - spec/unit/errors/formatting_spec.rb
508
509
  - spec/unit/feature_spec.rb
509
510
  - spec/unit/forge/module_release_spec.rb
data/azure-pipelines.yml DELETED
@@ -1,86 +0,0 @@
1
- # Don't run Azure when a branch is updated, only when a PR is updated.
2
- # Prevents double builds when a PR is made from the main repo and not a fork.
3
- trigger: none
4
- pr:
5
- autoCancel: true
6
- branches:
7
- include:
8
- - '*'
9
-
10
- pool:
11
- # self-hosted agent on Windows 10 1903 environment
12
- # includes newer Docker engine with LCOW enabled, new build of LCOW image
13
- # includes Ruby 2.5, Go 1.10, Node.js 10.10
14
- name: Default
15
-
16
- variables:
17
- NAMESPACE: puppet
18
- CONTAINER_NAME: r10k
19
- CONTAINER_BUILD_PATH: .
20
- LINT_IGNORES:
21
- DOCKER_BUILDKIT: 1
22
-
23
- workspace:
24
- clean: resources
25
-
26
- steps:
27
- - checkout: self # self represents the repo where the initial Pipelines YAML file was found
28
- clean: true # whether to fetch clean each time
29
-
30
- - powershell: |
31
- $gemfile = Join-Path -Path (Get-Location) -ChildPath 'docker/Gemfile'
32
- $gempath = Join-Path -Path (Get-Location) -ChildPath 'docker/.bundle/gems'
33
- bundle config --local gemfile $gemfile
34
- bundle config --local path $gempath
35
- bundle install --with test
36
- displayName: Fetch Dependencies
37
- timeoutInMinutes: 1
38
- name: fetch_deps
39
-
40
- - powershell: |
41
- . "$(bundle show pupperware)/ci/build.ps1"
42
- Write-HostDiagnostics
43
- displayName: Diagnostic Host Information
44
- timeoutInMinutes: 2
45
- name: hostinfo
46
-
47
- - powershell: |
48
- . "$(bundle show pupperware)/ci/build.ps1"
49
- Lint-Dockerfile -Name $ENV:CONTAINER_NAME -Ignore ($ENV:LINT_IGNORES -split ' ')
50
- displayName: Lint $(CONTAINER_NAME) Dockerfile
51
- timeoutInMinutes: 1
52
- name: lint_dockerfile
53
-
54
- - powershell: |
55
- . "$(bundle show pupperware)/ci/build.ps1"
56
- Build-Container -Name $ENV:CONTAINER_NAME -Namespace $ENV:NAMESPACE -PathOrUri $ENV:CONTAINER_BUILD_PATH
57
- displayName: Build $(CONTAINER_NAME) Container
58
- timeoutInMinutes: 5
59
- name: build_container
60
-
61
- - powershell: |
62
- . "$(bundle show pupperware)/ci/build.ps1"
63
- Initialize-TestEnv
64
- displayName: Prepare Test Environment
65
- name: test_prepare
66
-
67
- - powershell: |
68
- . "$(bundle show pupperware)/ci/build.ps1"
69
- Invoke-ContainerTest -Name $ENV:CONTAINER_NAME -Namespace $ENV:NAMESPACE
70
- displayName: Test $(CONTAINER_NAME)
71
- timeoutInMinutes: 5
72
- name: test_container
73
-
74
- - task: PublishTestResults@2
75
- displayName: Publish $(CONTAINER_NAME) test results
76
- inputs:
77
- testResultsFormat: 'JUnit'
78
- testResultsFiles: 'docker/TEST-*.xml'
79
- testRunTitle: $(CONTAINER_NAME) Test Results
80
-
81
- - powershell: |
82
- . "$(bundle show pupperware)/ci/build.ps1"
83
- Clear-BuildState -Name $ENV:CONTAINER_NAME -Namespace $ENV:NAMESPACE
84
- displayName: Container Cleanup
85
- timeoutInMinutes: 4
86
- condition: always()