r10k 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 32980c97963f0d5bb6515fcdd0482f19607bb7dd
4
- data.tar.gz: a6797080cc3652fbcddf7a4b8433a9d8443d6fdd
3
+ metadata.gz: a32b4ab214210ba825f405bd3272d15693c253b7
4
+ data.tar.gz: 8a6ff6f3dc4ea0d1a1ad7d50bf23a2ead7a2d805
5
5
  SHA512:
6
- metadata.gz: 65f2fd216db51e69dcbd799b707f25b96329de64679f598bdfdb35fa25762b65d35ee1e891086366f383a78174ec0e0c06ff2b1f30502dace98d923613bcfe86
7
- data.tar.gz: c2ff647aa4e140eef64e49256a2812aee64a5293e8ed0a4bf40341d0efb109c4ab5a5382cce824e05fe2a8d65f2a5de97d6a08341855897eb59975c0136f1172
6
+ metadata.gz: c18d09be0beed3f7da6323fa76ceea9093bd69899664e617a4035a8c4de76b92f632ba94f1ab5edd6b17f9443ecbe5dcb71114b737b1213043e468c44d24c210
7
+ data.tar.gz: 604ded22aa744ebac83ef3d39991e84ced2c589627f05ae26bf9afe3ae92ecd58ac962d49a0b9efc96dbf43a8da1934155f2feb35dea9bb15917b66de1910af0
data/.travis.yml CHANGED
@@ -8,7 +8,7 @@ notifications:
8
8
  email: false
9
9
  sudo: false
10
10
  jdk:
11
- - oraclejdk8
11
+ - openjdk8
12
12
  before_install: gem install bundler -v '< 2' --no-document
13
13
  matrix:
14
14
  include:
@@ -23,17 +23,8 @@ matrix:
23
23
  - stage: r10k container tests
24
24
  language: ruby
25
25
  rvm: 2.5.5
26
- env:
27
- - DOCKER_COMPOSE_VERSION=1.24.0
28
26
  script:
29
27
  - |
30
28
  set -ex
31
- sudo rm /usr/local/bin/docker-compose
32
- curl --location https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname --kernel-name`-`uname --machine` > docker-compose
33
- chmod +x docker-compose
34
- sudo mv docker-compose /usr/local/bin
35
- cd docker
36
- make lint
37
- make build
38
- make test
29
+ cd docker && make lint build test
39
30
  set +x
data/CHANGELOG.mkd CHANGED
@@ -1,98 +1,122 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
+ 3.3.1
5
+ -----
6
+
7
+ ### Changes
8
+
9
+ - Updated thread pool error handling and logging
10
+
4
11
  3.3.0
5
12
  -----
6
13
 
7
- ## New Feature
14
+ ### New Feature
8
15
 
9
- Adds support for installing modules concurrently
16
+ - Adds support for installing modules concurrently
10
17
 
11
- ## Bug Fixes
18
+ ### Bug Fixes
12
19
 
13
- (RK-343) Pins CRI dependency to 2.15.6 to resolve regression in options
20
+ - (RK-343) Pins CRI dependency to 2.15.6 to resolve regression in options
14
21
  parsing.
15
22
 
23
+ 3.2.1
24
+ ----
25
+
26
+ ### Changes
27
+
28
+ - Flag for overriding default branch configuration in Puppetfile
29
+ - Plumbing for internationalization
30
+ - Numerous test fixes and legacy docker work
31
+
16
32
  3.2.0
17
33
  -----
18
34
 
19
- ## New Feature
35
+ ### Changes
20
36
 
21
- Add support for running `puppet generate types`
37
+ - Add support for running `puppet generate types`
22
38
 
23
39
  3.1.1
24
40
  -----
25
41
 
26
- ## Bug Fixes
42
+ ### Changes
27
43
 
28
- (RK-335) Postrun `modifiedenvs` doesn't include environment prefixes
44
+ - (RK-335) Postrun `modifiedenvs` doesn't include environment prefixes
29
45
 
30
46
  3.1.0
31
47
  -----
32
48
 
33
- ## New Feature
49
+ ### Changes
50
+
51
+ - Substitute environments acted on in postrun command.
34
52
 
35
- Substitute environments acted on in postrun command.
53
+ Now post run commands that contain the string "$modifiedenvs"
54
+ (eg. ["/usr/local/bin/my-postrun-cmd", "--verbose", "$modifiedenvs"])
55
+ will have the string substituted with a space separated list
56
+ of environments acted upon (either a single environment if
57
+ specified on the command line or all environments).
36
58
 
37
- Now post run commands that contain the string "$modifiedenvs"
38
- (eg. ["/usr/local/bin/my-postrun-cmd", "--verbose", "$modifiedenvs"])
39
- will have the string substituted with a space separated list
40
- of environments acted upon (either a single environment if
41
- specified on the command line or all environments).
59
+ Specifically this should allow users to easily wrap
60
+ `puppet generate types` and matches the terminology used
61
+ in g10k.
42
62
 
43
- Specifically this should allow users to easily wrap
44
- `puppet generate types` and matches the terminology used
45
- in g10k.
63
+ Many thanks to @raphink for the contribution.
46
64
 
47
- Many thanks to @raphink for the contribution.
65
+ 3.0.4
66
+ ----
67
+
68
+ ### Changes
48
69
 
70
+ - Flag for overriding default branch configuration in Puppetfile
71
+ - Plumbing for internationalization
72
+ - Numerous test fixes and legacy docker work
49
73
 
50
74
  3.0.3
51
75
  ----
52
76
 
53
- ## Bug Fixes
77
+ ### Changes
54
78
 
55
- (RK-324) Fix Ruby pipe bug affecting Ubuntu
79
+ - (RK-324) Fix Ruby pipe bug affecting Ubuntu
56
80
 
57
81
  3.0.2
58
82
  ----
59
83
 
60
- ## Changes
84
+ ### Changes
61
85
 
62
- Minor test fixes.
86
+ - Minor test fixes.
63
87
 
64
88
  3.0.1
65
89
  ----
66
90
 
67
- ## Changes
91
+ ### Changes
68
92
 
69
93
  Because of dependency issues R10K 3.0.0 required Ruby >= 2.3
70
94
  rather than the reported 2.0. This release makes the requirement of
71
95
  Ruby >= 2.3 official and documented.
72
96
 
73
- (#853) ([RK-327](https://tickets.puppetlabs.com/browse/RK-327) Uninitialized Constant Cri::Error
74
- When resolving the Cri dependency >= 2.13 R10K would fail with an
75
- uninitialized constant error. Thanks to @ostavnaas for the bug report,
76
- @ddfreyne for the fix, and @baurmatt for the review.
97
+ - (#853) ([RK-327](https://tickets.puppetlabs.com/browse/RK-327) Uninitialized Constant Cri::Error
98
+ When resolving the Cri dependency >= 2.13 R10K would fail with an
99
+ uninitialized constant error. Thanks to @ostavnaas for the bug report,
100
+ @ddfreyne for the fix, and @baurmatt for the review.
77
101
 
78
102
 
79
103
  3.0.0
80
104
  ----
81
105
 
82
- ## Changes
106
+ ### Changes
83
107
 
84
- ### Known issues
108
+ #### Known issues
85
109
  - Child processes may die unexpectedly when deploying many environments
86
110
  on Ubuntu Bionic. See
87
111
  [RK-324](https://tickets.puppetlabs.com/browse/RK-324).
88
112
 
89
- ### Backwards breaking changes
113
+ #### Backwards breaking changes
90
114
  - Drop support for Ruby < 2.0
91
115
  - Remove support for PUPPETFILE and PUPPETFILE_DIR environment variables
92
116
  when running the `puppetfile` action, please use flags instead.
93
117
  - Fail when duplicate module definitions in Puppetfile
94
118
 
95
- ### Bug fixes
119
+ #### Bug fixes
96
120
  - More reliable pruning of refs on fetch
97
121
  - Improved error messaging when:
98
122
  - Unable to connect to a proxy
@@ -100,24 +124,32 @@ Ruby >= 2.3 official and documented.
100
124
  - Unable to parse Puppetfile
101
125
  - Various perfomance improvements
102
126
 
127
+ 2.6.6
128
+ ----
129
+
130
+ ### Changes
131
+ - Flag for overriding default branch configuration in Puppetfile
132
+ - Plumbing for internationalization
133
+ - Numerous test fixes and legacy docker work
103
134
 
104
135
  2.6.5
105
136
  ----
106
137
 
107
- ## Bug Fix
138
+ ### Bug Fix
108
139
 
109
140
  (RK-324) Fix Ruby pipe bug affecting Ubuntu
110
141
 
111
142
  2.6.4
112
143
  ----
113
144
 
114
- ## Changes
145
+ ### Changes
115
146
 
116
147
  Numerous test fixes.
117
148
 
118
149
  2.6.3
119
150
  ----
120
- ## Changes
151
+
152
+ ### Changes
121
153
 
122
154
  Update specs with new error string.
123
155
 
@@ -126,6 +158,7 @@ when a release is made on that branch.
126
158
 
127
159
  2.6.2
128
160
  -----
161
+
129
162
  ### Changes
130
163
 
131
164
  (RK-311) Yard dependency updated for security fix.
data/CODEOWNERS ADDED
@@ -0,0 +1 @@
1
+ /docker/ @puppetlabs/pupperware
data/README.mkd CHANGED
@@ -105,12 +105,6 @@ Getting help
105
105
  * Mailing lists: [puppet-users](https://groups.google.com/forum/#!forum/puppet-users)
106
106
  * Q&A: [Puppet Ask](https://ask.puppetlabs.com/questions/)
107
107
 
108
-
109
- More information
110
- ----------------
111
-
112
- The original impetus for r10k is explained at http://somethingsinistral.net/blog/rethinking-puppet-deployment/
113
-
114
108
  Contributors
115
109
  ------------
116
110
 
data/azure-pipelines.yml CHANGED
@@ -1,80 +1,80 @@
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
+
1
10
  pool:
2
- # self-hosted agent on Windows 10 1709 environment
11
+ # self-hosted agent on Windows 10 1903 environment
3
12
  # includes newer Docker engine with LCOW enabled, new build of LCOW image
4
- # includes Ruby 2.5, Go 1.10, Node.js 10.10, hadolint
13
+ # includes Ruby 2.5, Go 1.10, Node.js 10.10
5
14
  name: Default
6
15
 
7
16
  variables:
8
17
  NAMESPACE: puppet
18
+ CONTAINER_NAME: r10k
19
+ CONTAINER_BUILD_PATH: .
20
+ LINT_IGNORES: DL3008 DL3018 DL4000 DL4001 DL3028
21
+
22
+ workspace:
23
+ clean: resources
9
24
 
10
25
  steps:
11
- - checkout: self
12
- clean: true
26
+ - checkout: self # self represents the repo where the initial Pipelines YAML file was found
27
+ clean: true # whether to fetch clean each time
28
+
13
29
  - powershell: |
14
- $line = '=' * 80
15
- Write-Host "$line`nWindows`n$line`n"
16
- Get-ComputerInfo |
17
- select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer |
18
- Out-String |
19
- Write-Host
20
- #
21
- # Azure
22
- #
23
- $assetTag = Get-WmiObject -class Win32_SystemEnclosure -namespace root\CIMV2 |
24
- Select -ExpandProperty SMBIOSAssetTag
25
- if ($assetTag -eq '7783-7084-3265-9085-8269-3286-77')
26
- {
27
- Write-Host "`n`n$line`nAzure`n$line`n"
28
- Invoke-RestMethod -Headers @{'Metadata'='true'} -URI http://169.254.169.254/metadata/instance?api-version=2017-12-01 -Method Get |
29
- ConvertTo-Json -Depth 10 |
30
- Write-Host
31
- }
32
- #
33
- # Docker
34
- #
35
- Write-Host "`n`n$line`nDocker`n$line`n"
36
- docker version
37
- docker images
38
- docker info
39
- sc.exe qc docker
40
- #
41
- # Ruby
42
- #
43
- Write-Host "`n`n$line`nRuby`n$line`n"
44
- ruby --version
45
- gem --version
46
- gem env
47
- bundle --version
48
- #
49
- # Environment
50
- #
51
- Write-Host "`n`n$line`nEnvironment`n$line`n"
52
- Get-ChildItem Env: | % { Write-Host "$($_.Key): $($_.Value)" }
30
+ $gemfile = Join-Path -Path (Get-Location) -ChildPath 'docker/Gemfile'
31
+ $gempath = Join-Path -Path (Get-Location) -ChildPath 'docker/.bundle/gems'
32
+ bundle config --local gemfile $gemfile
33
+ bundle config --local path $gempath
34
+ bundle install
35
+ displayName: Fetch Dependencies
36
+ name: fetch_deps
37
+
38
+ - powershell: |
39
+ . "$(bundle show pupperware)/ci/build.ps1"
40
+ Write-HostDiagnostics
53
41
  displayName: Diagnostic Host Information
54
42
  name: hostinfo
43
+
55
44
  - powershell: |
56
- . ./docker/ci/build.ps1
57
- Lint-Dockerfile -Path ./docker/r10k/Dockerfile
58
- displayName: Lint r10k Dockerfile
45
+ . "$(bundle show pupperware)/ci/build.ps1"
46
+ Lint-Dockerfile -Name $ENV:CONTAINER_NAME -Ignore ($ENV:LINT_IGNORES -split ' ')
47
+ displayName: Lint $(CONTAINER_NAME) Dockerfile
59
48
  name: lint_dockerfile
49
+
50
+ - powershell: |
51
+ . "$(bundle show pupperware)/ci/build.ps1"
52
+ Build-Container -Name $ENV:CONTAINER_NAME -Namespace $ENV:NAMESPACE -PathOrUri $ENV:CONTAINER_BUILD_PATH
53
+ displayName: Build $(CONTAINER_NAME) Container
54
+ name: build_container
55
+
60
56
  - powershell: |
61
- . ./docker/ci/build.ps1
62
- Build-Container -Namespace $ENV:NAMESPACE
63
- displayName: Build r10k Container
64
- name: build_r10k_container
57
+ . "$(bundle show pupperware)/ci/build.ps1"
58
+ Initialize-TestEnv
59
+ displayName: Prepare Test Environment
60
+ name: test_prepare
61
+
65
62
  - powershell: |
66
- . ./docker/ci/build.ps1
67
- Invoke-ContainerTest -Namespace $ENV:NAMESPACE
68
- displayName: Test r10k
69
- name: test_r10k
63
+ . "$(bundle show pupperware)/ci/build.ps1"
64
+ Invoke-ContainerTest -Name $ENV:CONTAINER_NAME -Namespace $ENV:NAMESPACE
65
+ displayName: Test $(CONTAINER_NAME)
66
+ name: test_container
67
+
70
68
  - task: PublishTestResults@2
71
- displayName: Publish r10k test results
69
+ displayName: Publish $(CONTAINER_NAME) test results
72
70
  inputs:
73
71
  testResultsFormat: 'JUnit'
74
72
  testResultsFiles: 'docker/TEST-*.xml'
75
- testRunTitle: r10k Test Results
73
+ testRunTitle: $(CONTAINER_NAME) Test Results
74
+
76
75
  - powershell: |
77
- . ./docker/ci/build.ps1
78
- Clear-ContainerBuilds -Name r10k
76
+ . "$(bundle show pupperware)/ci/build.ps1"
77
+ Clear-BuildState -Name $ENV:CONTAINER_NAME -Namespace $ENV:NAMESPACE
79
78
  displayName: Container Cleanup
79
+ timeoutInMinutes: 3
80
80
  condition: always()
@@ -60,6 +60,18 @@ Update a single environment and force an update of modules:
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.
62
62
 
63
+ - - -
64
+
65
+ Update a single environment and specify a default branch override:
66
+
67
+ r10k deploy environment my_working_environment --puppetfile --default-branch-override default_branch_override
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
71
+ 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.
74
+
63
75
  ### Deploying modules
64
76
 
65
77
  Update a single module across all environments:
data/doc/faq.mkd CHANGED
@@ -151,4 +151,9 @@ modulepath = internal-modules:modules
151
151
 
152
152
  #### What does the name mean?
153
153
 
154
- It's explained in [this blog post](http://somethingsinistral.net/blog/rethinking-puppet-deployment/#addendum).
154
+ Its called R10K because I’m terrible at names. When I started working on R10K
155
+ I couldn’t come up with a decent name. While trying to come up with something
156
+ clever, I recalled that Randall Munroe wrote a bot for [controlling IRC chatter](http://blog.xkcd.com/2008/01/14/robot9000-and-xkcd-signal-attacking-noise-in-chat/),
157
+ and gave it the most generic name he could think of - Robot 9000. Since I just
158
+ needed a name, any name, I decided to go with an equally generic name by
159
+ incrementing the robot index.
data/docker/Gemfile CHANGED
@@ -1,18 +1,8 @@
1
- source ENV['GEM_SOURCE'] || "https://rubygems.org"
2
-
3
- def location_for(place, fake_version = nil)
4
- if place =~ /^((?:git|https?)[:@][^#]*)#(.*)/
5
- [fake_version, { :git => $1, :branch => $2, :require => false }].compact
6
- elsif place =~ /^file:\/\/(.*)/
7
- ['>= 0', { :path => File.expand_path($1), :require => false }]
8
- else
9
- [place, { :require => false }]
10
- end
11
- end
1
+ source "https://rubygems.org"
12
2
 
13
3
  gem 'rspec'
14
4
  gem 'rspec_junit_formatter'
15
5
  gem 'pupperware',
16
- :git => 'https://github.com/puppetlabs/pupperware.git',
17
- :ref => 'master',
18
- :glob => 'gem/*.gemspec'
6
+ :git => 'https://github.com/puppetlabs/pupperware.git',
7
+ :branch => 'master',
8
+ :glob => 'gem/*.gemspec'