r10k 2.6.9 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/.travis.yml +9 -16
- data/CHANGELOG.mkd +23 -36
- data/Gemfile +2 -1
- data/MAINTAINERS +18 -0
- data/README.mkd +1 -5
- data/bin/r10k +2 -2
- data/doc/common-patterns.mkd +2 -2
- data/doc/dynamic-environments/configuration.mkd +1 -2
- data/doc/dynamic-environments/quickstart.mkd +3 -3
- data/doc/dynamic-environments/usage.mkd +0 -12
- data/doc/puppetfile.mkd +0 -18
- data/docker/Gemfile +13 -0
- data/docker/ci/build +72 -0
- data/docker/distelli-manifest.yml +4 -0
- data/docker/r10k/Dockerfile +41 -0
- data/docker/r10k/spec/dockerfile_spec.rb +16 -0
- data/integration/Gemfile +4 -2
- data/integration/Rakefile +3 -2
- data/integration/pre-suite/00_pe_install.rb +0 -1
- data/integration/pre-suite/30_test_utils.rb +17 -0
- data/integration/scripts/README.mkd +86 -0
- data/integration/scripts/setup_r10k_env_centos5.sh +23 -0
- data/integration/scripts/setup_r10k_env_centos6.sh +23 -0
- data/integration/scripts/setup_r10k_env_rhel7.sh +23 -0
- data/integration/scripts/setup_r10k_env_sles11.sh +23 -0
- data/integration/scripts/setup_r10k_env_sles12.sh +23 -0
- data/integration/scripts/setup_r10k_env_ubuntu1004.sh +23 -0
- data/integration/scripts/setup_r10k_env_ubuntu1204.sh +23 -0
- data/integration/scripts/setup_r10k_env_ubuntu1404.sh +23 -0
- data/integration/tests/basic_functionality/install_pe_only_module_with_puppetfile.rb +2 -2
- data/integration/tests/basic_functionality/negative/attempt_to_install_peonly_module_without_license.rb +71 -0
- data/integration/tests/basic_functionality/proxy_with_pe_only_module.rb +2 -2
- data/integration/tests/git_source/HTTP_proxy_and_git_source.rb +2 -2
- data/integration/tests/i18n/deploy_module_with_unicode_in_file_name.rb +64 -0
- data/integration/tests/purging/does_not_purge_files_on_white_list.rb +93 -0
- data/integration/tests/purging/invalid_whitelist_types.rb +63 -0
- data/integration/tests/user_scenario/basic_workflow/negative/neg_disk_full.rb +12 -2
- data/integration/tests/user_scenario/basic_workflow/negative/neg_duplicate_module_names.rb +1 -8
- data/integration/tests/user_scenario/basic_workflow/single_env_10000_files.rb +11 -2
- data/integration/tests/user_scenario/basic_workflow/single_env_large_files.rb +12 -2
- data/lib/r10k/action/deploy/environment.rb +2 -15
- data/lib/r10k/action/puppetfile/check.rb +1 -1
- data/lib/r10k/action/puppetfile/cri_runner.rb +1 -13
- data/lib/r10k/action/puppetfile/purge.rb +1 -1
- data/lib/r10k/cli/deploy.rb +0 -1
- data/lib/r10k/cli/puppetfile.rb +4 -0
- data/lib/r10k/environment/base.rb +7 -1
- data/lib/r10k/environment/svn.rb +1 -1
- data/lib/r10k/forge/module_release.rb +2 -2
- data/lib/r10k/git/rugged/base_repository.rb +6 -3
- data/lib/r10k/git/rugged/working_repository.rb +10 -1
- data/lib/r10k/git/shellgit/base_repository.rb +27 -8
- data/lib/r10k/git/shellgit/working_repository.rb +20 -6
- data/lib/r10k/git/stateful_repository.rb +0 -1
- data/lib/r10k/module/git.rb +0 -5
- data/lib/r10k/puppetfile.rb +22 -27
- data/lib/r10k/source/base.rb +6 -0
- data/lib/r10k/source/git.rb +2 -2
- data/lib/r10k/source/svn.rb +4 -2
- data/lib/r10k/util/purgeable.rb +4 -2
- data/lib/r10k/util/subprocess/runner/posix.rb +3 -3
- data/lib/r10k/version.rb +1 -4
- data/locales/r10k.pot +23 -19
- data/r10k.gemspec +4 -8
- data/r10k.yaml.example +6 -0
- data/spec/fixtures/unit/puppetfile/duplicate-module-error/Puppetfile +10 -0
- data/spec/fixtures/unit/puppetfile/name-error/Puppetfile +1 -0
- data/spec/shared-examples/git/working_repository.rb +46 -0
- data/spec/unit/action/deploy/environment_spec.rb +0 -63
- data/spec/unit/action/puppetfile/check_spec.rb +24 -9
- data/spec/unit/action/puppetfile/cri_runner_spec.rb +2 -20
- data/spec/unit/action/puppetfile/install_spec.rb +16 -16
- data/spec/unit/action/puppetfile/purge_spec.rb +29 -6
- data/spec/unit/forge/module_release_spec.rb +10 -6
- data/spec/unit/git/stateful_repository_spec.rb +1 -4
- data/spec/unit/puppetfile_spec.rb +43 -36
- metadata +33 -48
- data/.github/pull_request_template.md +0 -4
- data/.github/workflows/release.yml +0 -36
- data/CODEOWNERS +0 -1
- data/spec/fixtures/unit/puppetfile/default-branch-override/Puppetfile +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 423ef3150366d325b04675995eda19cb8a0f1481
|
4
|
+
data.tar.gz: b00ae84fb75504d6798adececce0198a4f3fd4fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8d32b5153c4400666355bda3ad4740170206a5200759caecbfecb780fca78068bab70d0eb834d434a3b463c04eb62289890d6cdf050519da861f00280b8a834
|
7
|
+
data.tar.gz: 4c4c83e653177423f9c4f1bb1acdfc7c7f5d4891669cd30eba9bcebc710c8fe2ee59a8775974a6425d337f67b89abbad48326a8e6c7b36a3a9df233d9b2dd258
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -5,20 +5,13 @@ script: "bundle exec rspec --color --format documentation spec/unit"
|
|
5
5
|
notifications:
|
6
6
|
email: false
|
7
7
|
sudo: false
|
8
|
+
before_install: gem update bundler
|
9
|
+
rvm:
|
10
|
+
- "2.4.0"
|
11
|
+
- "2.3.0"
|
12
|
+
- "2.2.4"
|
13
|
+
- "2.1.8"
|
14
|
+
- "2.0.0"
|
15
|
+
- "jruby-19mode"
|
8
16
|
jdk:
|
9
|
-
|
10
|
-
before_install: gem install bundler -v '< 2' --no-document
|
11
|
-
matrix:
|
12
|
-
include:
|
13
|
-
- stage: r10k tests
|
14
|
-
rvm: 2.3.0
|
15
|
-
- stage: r10k tests
|
16
|
-
rvm: 2.2.0
|
17
|
-
- stage: r10k tests
|
18
|
-
rvm: 2.1.0
|
19
|
-
- stage: r10k tests
|
20
|
-
rvm: 2.0.0
|
21
|
-
- stage: r10k tests
|
22
|
-
rvm: 1.9.3
|
23
|
-
- stage: r10k tests
|
24
|
-
rvm: jruby-19mode
|
17
|
+
- oraclejdk8
|
data/CHANGELOG.mkd
CHANGED
@@ -1,63 +1,50 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
=========
|
3
3
|
|
4
|
-
|
5
|
-
----------
|
6
|
-
|
7
|
-
2.6.9
|
8
|
-
----
|
9
|
-
|
10
|
-
- Don't purge root when using `puppetfile install`. [#1084](https://github.com/puppetlabs/r10k/issues/1084)
|
11
|
-
|
12
|
-
2.6.8
|
13
|
-
----
|
14
|
-
|
15
|
-
### Changes
|
16
|
-
|
17
|
-
(RK-357) Restrict gettext and fast_gettext versions for compatibility with Ruby 2.4.
|
18
|
-
(RK-358) Update puppet_forge to ~> 2.3.0.
|
19
|
-
|
20
|
-
2.6.7
|
4
|
+
3.0.0
|
21
5
|
----
|
22
6
|
|
23
|
-
|
24
|
-
|
25
|
-
(CDPE-1813) Add module deploy info to .r10k-deploy.json.
|
26
|
-
(RK-351) Update minitar to ~> 0.9.0.
|
7
|
+
## Changes
|
27
8
|
|
28
|
-
|
29
|
-
|
9
|
+
### Known issues
|
10
|
+
- Child processes may die unexpectedly when deploying many environments
|
11
|
+
on Ubuntu Bionic. See
|
12
|
+
[RK-324](https://tickets.puppetlabs.com/browse/RK-324).
|
30
13
|
|
31
|
-
###
|
14
|
+
### Backwards breaking changes
|
15
|
+
- Drop support for Ruby < 2.0
|
16
|
+
- Remove support for PUPPETFILE and PUPPETFILE_DIR environment variables
|
17
|
+
when running the `puppetfile` action, please use flags instead.
|
18
|
+
- Fail when duplicate module definitions in Puppetfile
|
32
19
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
20
|
+
### Bug fixes
|
21
|
+
- More reliable pruning of refs on fetch
|
22
|
+
- Improved error messaging when:
|
23
|
+
- Unable to connect to a proxy
|
24
|
+
- r10k.yaml file is empty
|
25
|
+
- Unable to parse Puppetfile
|
26
|
+
- Various perfomance improvements
|
39
27
|
|
40
|
-
### Bug Fix
|
41
28
|
|
42
|
-
(RK-324) Fix Ruby pipe bug affecting Ubuntu
|
43
29
|
|
44
30
|
2.6.4
|
45
31
|
----
|
46
32
|
|
47
|
-
|
33
|
+
## Changes
|
48
34
|
|
49
35
|
Numerous test fixes.
|
50
36
|
|
51
37
|
2.6.3
|
52
38
|
----
|
53
|
-
|
54
|
-
### Changes
|
39
|
+
## Changes
|
55
40
|
|
56
41
|
Update specs with new error string.
|
57
42
|
|
43
|
+
**NOTE** - CHANGELOG is only assured to be up to date for a particular branch
|
44
|
+
when a release is made on that branch.
|
45
|
+
|
58
46
|
2.6.2
|
59
47
|
-----
|
60
|
-
|
61
48
|
### Changes
|
62
49
|
|
63
50
|
(RK-311) Yard dependency updated for security fix.
|
data/Gemfile
CHANGED
@@ -2,11 +2,12 @@ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
|
2
2
|
gemspec
|
3
3
|
|
4
4
|
group :extra do
|
5
|
-
gem 'rugged', '
|
5
|
+
gem 'rugged', '>= 0.24.0', '< 0.24.6', :platforms => :ruby
|
6
6
|
end
|
7
7
|
|
8
8
|
group :development do
|
9
9
|
gem 'simplecov', '~> 0.9.1'
|
10
|
+
gem 'ruby-prof', :platforms => :ruby
|
10
11
|
end
|
11
12
|
|
12
13
|
if File.exists? "#{__FILE__}.local"
|
data/MAINTAINERS
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
{
|
2
|
+
"version": 1,
|
3
|
+
"file_format": "This MAINTAINERS file format is described at https://github.com/puppetlabs/maintainers",
|
4
|
+
"issues": "https://tickets.puppet.com/browse/RK",
|
5
|
+
"internal_list": "https://groups.google.com/a/puppet.com/forum/?hl=en#!forum/discuss-code-manager-maintainers",
|
6
|
+
"people": [
|
7
|
+
{
|
8
|
+
"github": "andersonmills",
|
9
|
+
"email": "anderson@puppet.com",
|
10
|
+
"name": "Anderson Mills"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"github": "scotje",
|
14
|
+
"email": "jesse@puppet.com",
|
15
|
+
"name": "Jesse Scott"
|
16
|
+
}
|
17
|
+
]
|
18
|
+
}
|
data/README.mkd
CHANGED
@@ -17,11 +17,7 @@ implementation of Puppet [dynamic environments][workflow].
|
|
17
17
|
Requirements
|
18
18
|
------------
|
19
19
|
|
20
|
-
R10k supports the
|
21
|
-
|
22
|
-
- 1.9.3
|
23
|
-
- 2.0.0
|
24
|
-
- 2.1.0
|
20
|
+
R10k supports the Ruby versions `>= 2.0.0`.
|
25
21
|
|
26
22
|
R10k requires additional components, depending on how you plan on managing
|
27
23
|
environments and modules.
|
data/bin/r10k
CHANGED
@@ -6,12 +6,12 @@ require 'colored'
|
|
6
6
|
begin
|
7
7
|
R10K::CLI.command.run(ARGV)
|
8
8
|
rescue Interrupt
|
9
|
-
$stderr.puts "Aborted!".red
|
9
|
+
$stderr.puts "r10k: Aborted!".red
|
10
10
|
exit(1)
|
11
11
|
rescue SystemExit => e
|
12
12
|
exit(e.status)
|
13
13
|
rescue Exception => e
|
14
|
-
$stderr.puts "\
|
14
|
+
$stderr.puts "\nr10k: Runtime error: #{e.inspect}".red
|
15
15
|
$stderr.puts e.backtrace.join("\n").red if ARGV.include? '--trace'
|
16
16
|
exit(1)
|
17
17
|
end
|
data/doc/common-patterns.mkd
CHANGED
@@ -8,12 +8,12 @@ specific pattern before implementing it.
|
|
8
8
|
Repository Setup
|
9
9
|
----------------
|
10
10
|
|
11
|
-
Use a [Control Repo](
|
11
|
+
Use a [Control Repo](https://docs.puppet.com/pe/latest/cmgmt_control_repo.html)
|
12
12
|
to store your `Puppetfile`.
|
13
13
|
|
14
14
|
Hiera data should be in the Control repo OR as a separate source in
|
15
15
|
`r10k.yaml`. Any `hiera.yaml` in the Control repo will be ignored on a per
|
16
|
-
environment basis, locating it at `/etc/puppet/hiera.yaml` is prefered.
|
16
|
+
environment basis, locating it at `/etc/puppetlabs/puppet/hiera.yaml` is prefered.
|
17
17
|
|
18
18
|
Each puppet module should be contained in its own independent forge module or
|
19
19
|
repository.
|
@@ -46,10 +46,9 @@ For example:
|
|
46
46
|
cachedir: '/var/cache/r10k'
|
47
47
|
```
|
48
48
|
|
49
|
-
[prerun_command](http://docs.puppetlabs.com/references/latest/configuration.html#preruncommand)
|
50
49
|
|
51
50
|
The cachedir setting defaults to `~/.r10k`. If the HOME environment variable is
|
52
|
-
unset r10k will assume that r10k is being run with the Puppet [`prerun_command`]
|
51
|
+
unset r10k will assume that r10k is being run with the Puppet [`prerun_command`](http://docs.puppetlabs.com/references/latest/configuration.html#preruncommand)
|
53
52
|
setting and will set the cachedir default to `/root/.r10k`.
|
54
53
|
|
55
54
|
### proxy
|
@@ -95,7 +95,7 @@ Configure r10k by creating the following directory structure and file `/etc/pupp
|
|
95
95
|
|
96
96
|
```
|
97
97
|
# The location to use for storing cached Git repos
|
98
|
-
:cachedir: '/
|
98
|
+
:cachedir: '/var/cache/r10k'
|
99
99
|
|
100
100
|
# A list of git repositories to create
|
101
101
|
:sources:
|
@@ -166,8 +166,8 @@ class profile::base {
|
|
166
166
|
```
|
167
167
|
|
168
168
|
Ensure that the user r10k runs as (typically root) can access the git
|
169
|
-
repository. See the [git environment guide]
|
170
|
-
|
169
|
+
repository. See the [git environment guide](git-environments.mkd)
|
170
|
+
for more detail. You can test
|
171
171
|
the access by using su/sudo to perform `git clone yourrepoURL` as the correct
|
172
172
|
user.
|
173
173
|
|
@@ -60,18 +60,6 @@ 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
|
-
|
75
63
|
### Deploying modules
|
76
64
|
|
77
65
|
Update a single module across all environments:
|
data/doc/puppetfile.mkd
CHANGED
@@ -305,21 +305,3 @@ mod 'apache',
|
|
305
305
|
The given 'install\_path' can be an absolute path or a path relative to the base of
|
306
306
|
the environment. Note that r10k will exit with an error if you attempt to set the
|
307
307
|
'path' option to a directory outside of the environment.
|
308
|
-
|
309
|
-
## Environment variables (**DEPRECATED** as of 2.5.6)
|
310
|
-
|
311
|
-
It is possible to set an alternate name/location for your `Puppetfile` and
|
312
|
-
`modules` directory. This is useful if you want to control multiple environments
|
313
|
-
and have a single location for your `Puppetfile`.
|
314
|
-
|
315
|
-
Example:
|
316
|
-
|
317
|
-
PUPPETFILE=/etc/r10k.d/Puppetfile.production \
|
318
|
-
PUPPETFILE_DIR=/etc/puppet/modules/production \
|
319
|
-
/usr/bin/r10k puppetfile install
|
320
|
-
|
321
|
-
NOTE: using these environment variables is not a suggested configuration, and
|
322
|
-
have different semantics than librarian-puppet. Specifically, the PUPPETFILE_DIR
|
323
|
-
is the environment that r10k will install modules into, and it will take full
|
324
|
-
control over that directory and _remove any unmanaged content_. Use these
|
325
|
-
variables with caution.
|
data/docker/Gemfile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
source ENV['GEM_SOURCE'] || "https://rubygems.org"
|
2
|
+
|
3
|
+
def location_for(place)
|
4
|
+
if place =~ /^((?:git|https?)[:@][^#]*)#(.*)/
|
5
|
+
[{ :git => $1, :branch => $2, :require => false }]
|
6
|
+
elsif place =~ /^file:\/\/(.*)/
|
7
|
+
['>= 0', { :path => File.expand_path($1), :require => false }]
|
8
|
+
else
|
9
|
+
[place, { :require => false }]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
gem 'puppet_docker_tools', *location_for(ENV['PUPPET_DOCKER_LOCATION'] || '~> 0.1.5')
|
data/docker/ci/build
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
set -eux
|
4
|
+
|
5
|
+
PATH=$PATH:/usr/local/bin
|
6
|
+
BUNDLER_PATH=.bundle/gems
|
7
|
+
|
8
|
+
function build_and_test_image() {
|
9
|
+
container_name="$1"
|
10
|
+
|
11
|
+
: ===
|
12
|
+
: === run linter on the docker files
|
13
|
+
: ===
|
14
|
+
bundle exec puppet-docker local-lint "$container_name"
|
15
|
+
|
16
|
+
: ===
|
17
|
+
: === build and test $container_name
|
18
|
+
: ===
|
19
|
+
bundle exec puppet-docker build "$container_name" --no-cache --repository puppet --version "$version"
|
20
|
+
bundle exec puppet-docker spec "$container_name"
|
21
|
+
}
|
22
|
+
|
23
|
+
function push_image() {
|
24
|
+
container_name="$1"
|
25
|
+
container_version="$2"
|
26
|
+
: ===
|
27
|
+
: === push $container_name
|
28
|
+
: ===
|
29
|
+
bundle exec puppet-docker push "$container_name" --repository puppet --version "$container_version"
|
30
|
+
}
|
31
|
+
|
32
|
+
: ===
|
33
|
+
: === bundle install to get ready
|
34
|
+
: ===
|
35
|
+
bundle install --path "$BUNDLER_PATH"
|
36
|
+
|
37
|
+
: ===
|
38
|
+
: === If we do not git pull --unshallow we get really weird results with git describe
|
39
|
+
: ===
|
40
|
+
git pull --unshallow
|
41
|
+
|
42
|
+
: ===
|
43
|
+
: === make sure we fetch tags for versioning
|
44
|
+
: ===
|
45
|
+
git fetch origin 'refs/tags/*:refs/tags/*'
|
46
|
+
git_describe=`git describe`
|
47
|
+
version="${git_describe%%-*}"
|
48
|
+
|
49
|
+
: ===
|
50
|
+
: === pull updated base images
|
51
|
+
: ===
|
52
|
+
bundle exec puppet-docker update-base-images ubuntu:16.04
|
53
|
+
|
54
|
+
container_list=(r10k)
|
55
|
+
|
56
|
+
: ===
|
57
|
+
: === build and test all the images before we push anything
|
58
|
+
: ===
|
59
|
+
for container in "${container_list[@]}"; do
|
60
|
+
build_and_test_image "$container"
|
61
|
+
done
|
62
|
+
|
63
|
+
: ===
|
64
|
+
: === push all the images
|
65
|
+
: ===
|
66
|
+
for container in "${container_list[@]}"; do
|
67
|
+
push_image "$container" "$version"
|
68
|
+
done
|
69
|
+
|
70
|
+
: ===
|
71
|
+
: === SUCCESS
|
72
|
+
: ===
|
@@ -0,0 +1,41 @@
|
|
1
|
+
FROM ubuntu:16.04
|
2
|
+
|
3
|
+
ARG vcs_ref
|
4
|
+
ARG build_date
|
5
|
+
ARG version="2.6.4"
|
6
|
+
ENV R10K_VERSION="$version"
|
7
|
+
ENV UBUNTU_CODENAME="xenial"
|
8
|
+
|
9
|
+
LABEL org.label-schema.maintainer="Puppet Release Team <release@puppet.com>" \
|
10
|
+
org.label-schema.vendor="Puppet" \
|
11
|
+
org.label-schema.url="https://github.com/puppetlabs/r10k" \
|
12
|
+
org.label-schema.name="r10k" \
|
13
|
+
org.label-schema.license="Apache-2.0" \
|
14
|
+
org.label-schema.version="$R10K_VERSION" \
|
15
|
+
org.label-schema.vcs-url="https://github.com/puppetlabs/r10k" \
|
16
|
+
org.label-schema.vcs-ref="$vcs_ref" \
|
17
|
+
org.label-schema.build-date="$build_date" \
|
18
|
+
org.label-schema.schema-version="1.0" \
|
19
|
+
org.label-schema.dockerfile="/Dockerfile"
|
20
|
+
|
21
|
+
RUN apt-get update && \
|
22
|
+
apt-get install --no-install-recommends -y wget ca-certificates lsb-release && \
|
23
|
+
wget https://apt.puppetlabs.com/puppet5-release-"$UBUNTU_CODENAME".deb && \
|
24
|
+
dpkg -i puppet5-release-"$UBUNTU_CODENAME".deb && \
|
25
|
+
rm puppet5-release-"$UBUNTU_CODENAME".deb && \
|
26
|
+
apt-get update && \
|
27
|
+
apt-get install --no-install-recommends -y puppet-agent && \
|
28
|
+
apt-get install --no-install-recommends -y git openssh-client && \
|
29
|
+
apt-get remove --purge -y wget && \
|
30
|
+
apt-get autoremove -y && \
|
31
|
+
apt-get clean && \
|
32
|
+
rm -rf /var/lib/apt/lists/*
|
33
|
+
|
34
|
+
RUN /opt/puppetlabs/puppet/bin/gem install r10k:"$R10K_VERSION"
|
35
|
+
|
36
|
+
ENV PATH=/opt/puppetlabs/server/bin:/opt/puppetlabs/puppet/bin:/opt/puppetlabs/bin:$PATH
|
37
|
+
|
38
|
+
ENTRYPOINT ["/opt/puppetlabs/puppet/bin/r10k"]
|
39
|
+
CMD ["help"]
|
40
|
+
|
41
|
+
COPY Dockerfile /
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'puppet_docker_tools/spec_helper'
|
2
|
+
|
3
|
+
CURRENT_DIRECTORY = File.dirname(File.dirname(__FILE__))
|
4
|
+
|
5
|
+
describe 'Dockerfile' do
|
6
|
+
include_context 'with a docker image'
|
7
|
+
|
8
|
+
describe package('puppet-agent') do
|
9
|
+
it { is_expected.to be_installed }
|
10
|
+
end
|
11
|
+
|
12
|
+
describe file('/opt/puppetlabs/puppet/bin/r10k') do
|
13
|
+
it { should exist }
|
14
|
+
it { should be_executable }
|
15
|
+
end
|
16
|
+
end
|