r10k 3.3.0 → 3.3.1

Sign up to get free protection for your applications and to get access to all the features.
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'