r10k 2.6.9 → 3.0.0
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 +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
|