r10k 3.5.0 → 3.5.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 +4 -4
- data/.github/workflows/docker.yml +25 -1
- data/.travis.yml +14 -11
- data/CHANGELOG.mkd +10 -5
- data/Gemfile +1 -1
- data/doc/faq.mkd +6 -1
- data/doc/puppetfile.mkd +2 -0
- data/docker/Makefile +13 -1
- data/docker/r10k/Dockerfile +14 -4
- data/docker/r10k/release.Dockerfile +21 -3
- data/lib/r10k/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f2418e73622a4149507cc7e2dde74b68a448689da2a7287b19107fbef0e184e
|
4
|
+
data.tar.gz: 95acaeb5cb7ad0969ec3f2a3545ab82490bafb9d0fca5da444125bbe780b9836
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd666a18fe5df938ab5a151cf411ac335e0f3f151428fe8589010ff699b832609fc58e189c46f52894d9d6b9d8e63156ed928bd14d2ed02d5d9a113fc0c5feb0
|
7
|
+
data.tar.gz: 40307661c96a21d00595271fa21836175c993dc937504b82b449218e39cd3804000a7c24c32a52aa570098b450fd35417573190dd9d603ac087e217f391aacb4
|
@@ -10,6 +10,7 @@ jobs:
|
|
10
10
|
env:
|
11
11
|
PUPPERWARE_ANALYTICS_STREAM: production
|
12
12
|
IS_LATEST: true
|
13
|
+
# Still need these env vars for README publishing
|
13
14
|
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
14
15
|
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
|
15
16
|
|
@@ -17,6 +18,10 @@ jobs:
|
|
17
18
|
|
18
19
|
steps:
|
19
20
|
- uses: actions/checkout@master
|
21
|
+
- uses: azure/docker-login@v1
|
22
|
+
with: # This doesn't seem to work unless we point directly to the secrets
|
23
|
+
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
24
|
+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
20
25
|
- name: Set up Ruby 2.6
|
21
26
|
uses: actions/setup-ruby@v1
|
22
27
|
with:
|
@@ -28,5 +33,24 @@ jobs:
|
|
28
33
|
- name: Publish container
|
29
34
|
working-directory: docker
|
30
35
|
run: |
|
31
|
-
docker login -u "$DOCKERHUB_USERNAME" -p "$DOCKERHUB_PASSWORD"
|
32
36
|
make publish
|
37
|
+
- name: Build release container
|
38
|
+
env:
|
39
|
+
IS_RELEASE: true
|
40
|
+
working-directory: docker
|
41
|
+
run: |
|
42
|
+
if make prep; then
|
43
|
+
make lint build test
|
44
|
+
else
|
45
|
+
echo "Skipping release container building and testing"
|
46
|
+
fi
|
47
|
+
- name: Publish release container
|
48
|
+
env:
|
49
|
+
IS_RELEASE: true
|
50
|
+
working-directory: docker
|
51
|
+
run: |
|
52
|
+
if make prep; then
|
53
|
+
make publish
|
54
|
+
else
|
55
|
+
echo "Skipping release container publishing"
|
56
|
+
fi
|
data/.travis.yml
CHANGED
@@ -6,7 +6,7 @@ notifications:
|
|
6
6
|
email: false
|
7
7
|
sudo: false
|
8
8
|
jdk:
|
9
|
-
-
|
9
|
+
- openjdk11
|
10
10
|
before_install: gem install bundler -v '< 2' --no-document
|
11
11
|
matrix:
|
12
12
|
include:
|
@@ -23,20 +23,23 @@ matrix:
|
|
23
23
|
- stage: r10k tests
|
24
24
|
rvm: jruby
|
25
25
|
- stage: r10k container tests
|
26
|
-
dist:
|
26
|
+
dist: focal
|
27
27
|
language: ruby
|
28
28
|
services:
|
29
|
-
# bionic uses 18.06 but need 19.03+ for buildkit so upgrade later in relevant cell
|
30
29
|
- docker
|
31
|
-
rvm: 2.6.
|
30
|
+
rvm: 2.6.6
|
32
31
|
env:
|
32
|
+
- DOCKER_COMPOSE_VERSION=1.25.5
|
33
33
|
# necessary to prevent overwhelming TravisCI build output limits
|
34
34
|
- DOCKER_BUILD_FLAGS="--progress plain"
|
35
|
+
before_install:
|
36
|
+
- sudo rm /usr/local/bin/docker-compose
|
37
|
+
- curl --location https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname --kernel-name`-`uname --machine` > docker-compose
|
38
|
+
- chmod +x docker-compose
|
39
|
+
- sudo mv docker-compose /usr/local/bin
|
35
40
|
script:
|
36
|
-
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
cd docker && make lint build test
|
42
|
-
set +x
|
41
|
+
- set -e
|
42
|
+
- cd docker
|
43
|
+
- make lint
|
44
|
+
- make build
|
45
|
+
- make test
|
data/CHANGELOG.mkd
CHANGED
@@ -4,6 +4,11 @@ CHANGELOG
|
|
4
4
|
Unreleased
|
5
5
|
----
|
6
6
|
|
7
|
+
3.5.1
|
8
|
+
-----
|
9
|
+
|
10
|
+
- Upgrade Rugged Gemfile dependency for local development to ~> 1.0
|
11
|
+
|
7
12
|
|
8
13
|
3.5.0
|
9
14
|
-----
|
@@ -15,7 +20,7 @@ Unreleased
|
|
15
20
|
[#813](https://github.com/puppetlabs/r10k/issues/813)
|
16
21
|
|
17
22
|
3.4.1
|
18
|
-
|
23
|
+
-----
|
19
24
|
|
20
25
|
- Add support for Ruby 2.7
|
21
26
|
- (RK-357) Restrict gettext and fast_gettext versions for compatibility with Ruby 2.4
|
@@ -394,7 +399,7 @@ Puppetfile should be installed to. See the [Puppetfile documentation](https://gi
|
|
394
399
|
|
395
400
|
You can now configure how r10k purges unmanaged content after a deployment. The
|
396
401
|
default behavior should be unchanged but there is a new "purge\_levels" configuration
|
397
|
-
option that can be used to enable new behavior or de-activate certain existing
|
402
|
+
option that can be used to enable new behavior or de-activate certain existing
|
398
403
|
behaviors. See the relevant [configuration documentation](https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd#purge_levels) for more details.
|
399
404
|
|
400
405
|
(RK-223) Ability to track control repo branch from content declarations.
|
@@ -441,7 +446,7 @@ fix.)
|
|
441
446
|
Previously, r10k only supported the use of HTTP proxies for connecting to the Puppet
|
442
447
|
Forge. With these changes, r10k can now be configured to use an HTTP proxy for both
|
443
448
|
Forge and Git operations. Configuration can be specified globally, for Forge or Git
|
444
|
-
only, or on a per-Git repository basis. See [configuration documentation](https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd)
|
449
|
+
only, or on a per-Git repository basis. See [configuration documentation](https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd)
|
445
450
|
for more details.
|
446
451
|
|
447
452
|
### Bug Fixes
|
@@ -462,9 +467,9 @@ for SSH.
|
|
462
467
|
(RK-241) "deploy display" action does not properly format wrapped exceptions
|
463
468
|
|
464
469
|
The "deploy display" action was not capturing and logging exceptions in the same way as
|
465
|
-
other related actions. This meant that in many cases, when an error occurred, the
|
470
|
+
other related actions. This meant that in many cases, when an error occurred, the
|
466
471
|
underlying cause was not being shown. Specifically, the "deploy display" action was
|
467
|
-
not benefitting from the improved error messaging for unreadable SSH keys which was
|
472
|
+
not benefitting from the improved error messaging for unreadable SSH keys which was
|
468
473
|
added in r10k 2.2.0 as part of RK-220.
|
469
474
|
|
470
475
|
2.2.1
|
data/Gemfile
CHANGED
data/doc/faq.mkd
CHANGED
@@ -141,7 +141,7 @@ modulepath = modules:external-modules
|
|
141
141
|
|
142
142
|
Lastly, you can simply move your locally versioned modules to a separate
|
143
143
|
directory to avoid conflicting over the `/modules` directory entirely. With this
|
144
|
-
example as well you can use the `environment.conf file to tell Puppet which
|
144
|
+
example as well you can use the `environment.conf` file to tell Puppet which
|
145
145
|
directories contain modules.
|
146
146
|
|
147
147
|
```
|
@@ -149,6 +149,11 @@ directories contain modules.
|
|
149
149
|
modulepath = internal-modules:modules
|
150
150
|
```
|
151
151
|
|
152
|
+
#### Does R10K support Local/Private Forge?
|
153
|
+
|
154
|
+
Yes. Set the Forge to use _globally_ in `r10k.yaml`. see [Configuration](/doc/dynamic-environments/configuration.mkd#baseurl) for details.
|
155
|
+
|
156
|
+
|
152
157
|
#### What does the name mean?
|
153
158
|
|
154
159
|
It’s called R10K because I’m terrible at names. When I started working on R10K
|
data/doc/puppetfile.mkd
CHANGED
@@ -54,6 +54,8 @@ The `forge` setting specifies which server that Forge based modules are fetched
|
|
54
54
|
from. This is currently a noop and is provided for compatibility with
|
55
55
|
librarian-puppet.
|
56
56
|
|
57
|
+
R10k supports setting the Forge to use _globally_ in `r10k.yaml`. see [Configuration](/doc/dynamic-environments/configuration.mkd#baseurl) for details.
|
58
|
+
|
57
59
|
### moduledir
|
58
60
|
|
59
61
|
The `moduledir` setting specifies where modules from the Puppetfile will be
|
data/docker/Makefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
PUPPERWARE_ANALYTICS_STREAM ?= dev
|
2
2
|
NAMESPACE ?= puppet
|
3
|
-
git_describe = $(shell git describe)
|
3
|
+
git_describe = $(shell git describe --tags)
|
4
4
|
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 $$?)
|
@@ -13,6 +13,14 @@ export DOCKER_BUILDKIT = 1
|
|
13
13
|
|
14
14
|
ifeq ($(IS_RELEASE),true)
|
15
15
|
VERSION ?= $(shell echo $(git_describe) | sed 's/-.*//')
|
16
|
+
PUBLISHED_VERSION ?= $(shell curl --silent 'https://rubygems.org/api/v1/gems/r10k.json' | jq '."version"' | tr -d '"')
|
17
|
+
CONTAINER_EXISTS = $(shell DOCKER_CLI_EXPERIMENTAL=enabled docker manifest inspect $(NAMESPACE)/r10k:$(VERSION) > /dev/null 2>&1; echo $$?)
|
18
|
+
ifeq ($(CONTAINER_EXISTS),0)
|
19
|
+
SKIP_BUILD ?= true
|
20
|
+
else ifneq ($(VERSION),$(PUBLISHED_VERSION))
|
21
|
+
SKIP_BUILD ?= true
|
22
|
+
endif
|
23
|
+
|
16
24
|
LATEST_VERSION ?= latest
|
17
25
|
dockerfile := release.Dockerfile
|
18
26
|
dockerfile_context := r10k
|
@@ -26,6 +34,10 @@ endif
|
|
26
34
|
prep:
|
27
35
|
@git fetch --unshallow 2> /dev/null ||:
|
28
36
|
@git fetch origin 'refs/tags/*:refs/tags/*'
|
37
|
+
ifeq ($(SKIP_BUILD),true)
|
38
|
+
@echo "SKIP_BUILD is true, exiting with 1"
|
39
|
+
@exit 1
|
40
|
+
endif
|
29
41
|
|
30
42
|
lint:
|
31
43
|
ifeq ($(hadolint_available),0)
|
data/docker/r10k/Dockerfile
CHANGED
@@ -16,6 +16,11 @@ ARG version="3.1.0"
|
|
16
16
|
# Used by entrypoint to submit metrics to Google Analytics.
|
17
17
|
# Published images should use "production" for this build_arg.
|
18
18
|
ARG pupperware_analytics_stream="dev"
|
19
|
+
# required to schedule runs of "r10k" in K8s
|
20
|
+
ARG supercronic_version="0.1.9"
|
21
|
+
ARG supercronic_sha1sum="5ddf8ea26b56d4a7ff6faecdd8966610d5cb9d85"
|
22
|
+
ARG supercronic="supercronic-linux-amd64"
|
23
|
+
ARG supercronic_url="https://github.com/aptible/supercronic/releases/download/v$supercronic_version/$supercronic"
|
19
24
|
|
20
25
|
LABEL org.label-schema.maintainer="Puppet Release Team <release@puppet.com>" \
|
21
26
|
org.label-schema.vendor="Puppet" \
|
@@ -32,7 +37,7 @@ COPY docker/r10k/docker-entrypoint.d /docker-entrypoint.d
|
|
32
37
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
33
38
|
CMD ["help"]
|
34
39
|
|
35
|
-
#
|
40
|
+
# dynamic LABELs and ENV vars placed lower for the sake of Docker layer caching
|
36
41
|
ENV PUPPERWARE_ANALYTICS_STREAM="$pupperware_analytics_stream"
|
37
42
|
|
38
43
|
LABEL org.label-schema.version="$version" \
|
@@ -40,16 +45,21 @@ LABEL org.label-schema.version="$version" \
|
|
40
45
|
org.label-schema.build-date="$build_date"
|
41
46
|
|
42
47
|
COPY --from=build /workspace/r10k.gem /
|
48
|
+
SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
|
43
49
|
# ignore apk and gem pinning
|
44
50
|
# hadolint ignore=DL3018,DL3028
|
45
|
-
RUN chmod a+x /adduser.sh && \
|
51
|
+
RUN chmod a+x /adduser.sh /docker-entrypoint.sh && \
|
46
52
|
# Add a puppet user to run r10k as for consistency with puppetserver
|
47
53
|
/adduser.sh && \
|
48
|
-
chmod +x /docker-entrypoint.sh && \
|
49
54
|
chown -R puppet: /docker-entrypoint.d /docker-entrypoint.sh && \
|
50
55
|
apk add --no-cache ruby openssh-client git ruby-rugged curl ruby-json ruby-etc && \
|
51
56
|
gem install --no-doc /r10k.gem && \
|
52
|
-
rm -f /r10k.gem
|
57
|
+
rm -f /r10k.gem && \
|
58
|
+
curl --fail --silent --show-error --location --remote-name "$supercronic_url" && \
|
59
|
+
echo "${supercronic_sha1sum} ${supercronic}" | sha1sum -c - && \
|
60
|
+
chmod +x "$supercronic" && \
|
61
|
+
mv "$supercronic" "/usr/local/bin/${supercronic}" && \
|
62
|
+
ln -s "/usr/local/bin/${supercronic}" /usr/local/bin/supercronic
|
53
63
|
|
54
64
|
USER puppet
|
55
65
|
WORKDIR /home/puppet
|
@@ -6,6 +6,11 @@ ARG version="3.1.0"
|
|
6
6
|
# Used by entrypoint to submit metrics to Google Analytics.
|
7
7
|
# Published images should use "production" for this build_arg.
|
8
8
|
ARG pupperware_analytics_stream="dev"
|
9
|
+
# required to schedule runs of "r10k" in K8s
|
10
|
+
ARG supercronic_version="0.1.9"
|
11
|
+
ARG supercronic_sha1sum="5ddf8ea26b56d4a7ff6faecdd8966610d5cb9d85"
|
12
|
+
ARG supercronic="supercronic-linux-amd64"
|
13
|
+
ARG supercronic_url="https://github.com/aptible/supercronic/releases/download/v$supercronic_version/$supercronic"
|
9
14
|
|
10
15
|
LABEL org.label-schema.maintainer="Puppet Release Team <release@puppet.com>" \
|
11
16
|
org.label-schema.vendor="Puppet" \
|
@@ -16,7 +21,7 @@ LABEL org.label-schema.maintainer="Puppet Release Team
|
|
16
21
|
org.label-schema.schema-version="1.0" \
|
17
22
|
org.label-schema.dockerfile="/release.Dockerfile"
|
18
23
|
|
19
|
-
COPY docker-entrypoint.sh /
|
24
|
+
COPY adduser.sh docker-entrypoint.sh /
|
20
25
|
COPY docker-entrypoint.d /docker-entrypoint.d
|
21
26
|
|
22
27
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
@@ -29,8 +34,21 @@ LABEL org.label-schema.version="$version" \
|
|
29
34
|
org.label-schema.vcs-ref="$vcs_ref" \
|
30
35
|
org.label-schema.build-date="$build_date"
|
31
36
|
|
32
|
-
|
37
|
+
SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
|
38
|
+
# ignore apk and gem pinning
|
39
|
+
# hadolint ignore=DL3018,DL3028
|
40
|
+
RUN chmod a+x /adduser.sh /docker-entrypoint.sh && \
|
41
|
+
/adduser.sh && \
|
42
|
+
chown -R puppet: /docker-entrypoint.d /docker-entrypoint.sh && \
|
33
43
|
apk add --no-cache ruby openssh-client git ruby-rugged curl ruby-dev make gcc musl-dev && \
|
34
|
-
gem install --no-doc r10k:"$version" json etc
|
44
|
+
gem install --no-doc r10k:"$version" json etc && \
|
45
|
+
curl --fail --silent --show-error --location --remote-name "$supercronic_url" && \
|
46
|
+
echo "${supercronic_sha1sum} ${supercronic}" | sha1sum -c - && \
|
47
|
+
chmod +x "$supercronic" && \
|
48
|
+
mv "$supercronic" "/usr/local/bin/${supercronic}" && \
|
49
|
+
ln -s "/usr/local/bin/${supercronic}" /usr/local/bin/supercronic
|
50
|
+
|
51
|
+
USER puppet
|
52
|
+
WORKDIR /home/puppet
|
35
53
|
|
36
54
|
COPY release.Dockerfile /
|
data/lib/r10k/version.rb
CHANGED
@@ -2,5 +2,5 @@ module R10K
|
|
2
2
|
# When updating to a new major (X) or minor (Y) version, include `#major` or
|
3
3
|
# `#minor` (respectively) in your commit message to trigger the appropriate
|
4
4
|
# release. Otherwise, a new patch (Z) version will be released.
|
5
|
-
VERSION = '3.5.
|
5
|
+
VERSION = '3.5.1'
|
6
6
|
end
|
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.
|
4
|
+
version: 3.5.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-
|
11
|
+
date: 2020-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|