r10k 2.6.5 → 2.6.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/.travis.yml +16 -9
- data/CHANGELOG.mkd +10 -0
- data/doc/dynamic-environments/usage.mkd +12 -0
- data/integration/Gemfile +2 -2
- data/integration/Rakefile +0 -1
- data/integration/pre-suite/00_pe_install.rb +2 -0
- data/integration/tests/basic_functionality/install_pe_only_module_with_puppetfile.rb +2 -2
- data/integration/tests/basic_functionality/proxy_with_pe_only_module.rb +2 -2
- data/integration/tests/user_scenario/basic_workflow/negative/neg_disk_full.rb +2 -12
- data/integration/tests/user_scenario/basic_workflow/single_env_10000_files.rb +2 -11
- data/integration/tests/user_scenario/basic_workflow/single_env_large_files.rb +2 -12
- data/lib/r10k/action/deploy/environment.rb +2 -2
- data/lib/r10k/cli/deploy.rb +1 -0
- data/lib/r10k/module/git.rb +5 -0
- data/lib/r10k/puppetfile.rb +10 -3
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +486 -0
- data/spec/fixtures/unit/puppetfile/default-branch-override/Puppetfile +5 -0
- data/spec/unit/action/deploy/environment_spec.rb +4 -0
- data/spec/unit/puppetfile_spec.rb +19 -0
- metadata +4 -12
- data/.gitattributes +0 -1
- data/azure-pipelines.yml +0 -72
- data/docker/.rspec +0 -3
- data/docker/Gemfile +0 -14
- data/docker/ci/build +0 -72
- data/docker/ci/build.ps1 +0 -38
- data/docker/distelli-manifest.yml +0 -4
- data/docker/r10k/Dockerfile +0 -41
- data/docker/r10k/spec/dockerfile_spec.rb +0 -24
- data/integration/pre-suite/30_test_utils.rb +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c37b475095ce21d823096d20d2e44f57842fda88
|
4
|
+
data.tar.gz: b1f1a320a079d235b672ab467883616fa550e42a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c3017e68a3c1a8f6f22d914d372421c57b834a98f5734e14b4d1fbb0da02be4ec928fc36a15a75c2a6db9709460f43ac6d42624a8ab308a5d0f8a3a89e5f7b5
|
7
|
+
data.tar.gz: 6c3070d06402a786fdf1f854b0c824cd5e5c9c3ac6a1dc5429609c44c98622f684141e19656043ab43e8298f4f3ec7bb0add0f99a1844f4414d4d1e895eb1957
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -5,13 +5,20 @@ 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.3.0"
|
11
|
-
- "2.2.0"
|
12
|
-
- "2.1.0"
|
13
|
-
- "2.0.0"
|
14
|
-
- "1.9.3"
|
15
|
-
- "jruby-19mode"
|
16
8
|
jdk:
|
17
|
-
|
9
|
+
- oraclejdk8
|
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
|
data/CHANGELOG.mkd
CHANGED
@@ -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/integration/Gemfile
CHANGED
@@ -10,8 +10,8 @@ def location_for(place, fake_version = nil)
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
gem 'beaker', *location_for(ENV['BEAKER_VERSION'] || '~>
|
14
|
-
gem 'beaker-pe', '~>
|
13
|
+
gem 'beaker', *location_for(ENV['BEAKER_VERSION'] || '~> 4.5')
|
14
|
+
gem 'beaker-pe', '~> 2.0'
|
15
15
|
gem 'beaker-hostgenerator', *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'] || '~> 1.1')
|
16
16
|
gem 'beaker-abs', *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.4')
|
17
17
|
gem 'rototiller', '= 0.1.0'
|
data/integration/Rakefile
CHANGED
@@ -58,8 +58,8 @@ on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
|
|
58
58
|
step 'Update the "r10k" Config'
|
59
59
|
create_remote_file(master, r10k_config_path, r10k_conf)
|
60
60
|
|
61
|
-
step 'Download license file from
|
62
|
-
curl_on(master, '
|
61
|
+
step 'Download license file from artifactory'
|
62
|
+
curl_on(master, 'https://artifactory.delivery.puppetlabs.net/artifactory/generic/r10k_test_license.key -o /etc/puppetlabs/license.key')
|
63
63
|
|
64
64
|
step 'Inject New "site.pp" to the "production" Environment'
|
65
65
|
inject_site_pp(master, site_pp_path, site_pp)
|
@@ -86,8 +86,8 @@ on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
|
|
86
86
|
step 'Update the "r10k" Config'
|
87
87
|
create_remote_file(master, r10k_config_path, r10k_conf)
|
88
88
|
|
89
|
-
step 'Download license file from
|
90
|
-
curl_on(master, '
|
89
|
+
step 'Download license file from artifactory'
|
90
|
+
curl_on(master, 'https://artifactory.delivery.puppetlabs.net/artifactory/generic/r10k_test_license.key -o /etc/puppetlabs/license.key')
|
91
91
|
|
92
92
|
step 'Checkout "production" Branch'
|
93
93
|
git_on(master, 'checkout production', git_environments_path)
|
@@ -20,17 +20,6 @@ r10k_config_bak_path = "#{r10k_config_path}.bak"
|
|
20
20
|
|
21
21
|
tmpfs_path = '/mnt/tmpfs'
|
22
22
|
|
23
|
-
if on(master, 'which python', :acceptable_exit_codes => [0, 1]).exit_code == 1
|
24
|
-
python_bin = 'python3'
|
25
|
-
else
|
26
|
-
python_bin = 'python'
|
27
|
-
end
|
28
|
-
|
29
|
-
file_bucket_path = '/opt/filebucket'
|
30
|
-
file_bucket_command_path = File.join(file_bucket_path, 'filebucketapp.py')
|
31
|
-
file_bucket_command = "#{python_bin} #{file_bucket_command_path}"
|
32
|
-
pattern_file_path = File.join(file_bucket_path, 'psuedo_random_128k.pat')
|
33
|
-
|
34
23
|
test_files_path = File.join(git_environments_path, 'test_files')
|
35
24
|
|
36
25
|
#In-line files
|
@@ -73,7 +62,8 @@ on(master, "mount -osize=10m tmpfs #{tmpfs_path} -t tmpfs")
|
|
73
62
|
step 'Create Large Binary File'
|
74
63
|
create_remote_file(master, File.join(git_environments_path, '.gitattributes'), '*.file binary')
|
75
64
|
on(master, "mkdir -p #{test_files_path}")
|
76
|
-
|
65
|
+
# create a 11 mb file to fill the mount
|
66
|
+
on(master, "dd if=/dev/urandom of=#{test_files_path}.test.file bs=1048576 count=11")
|
77
67
|
|
78
68
|
step 'Push Changes'
|
79
69
|
git_add_commit_push(master, 'production', 'Add large file.', git_environments_path)
|
@@ -21,16 +21,6 @@ helloworld_module_path = File.join(local_files_root_path, 'modules', 'helloworld
|
|
21
21
|
test_files = 'test_files'
|
22
22
|
test_files_path = File.join(git_environments_path, test_files)
|
23
23
|
|
24
|
-
if on(master, 'which python', :acceptable_exit_codes => [0, 1]).exit_code == 1
|
25
|
-
python_bin = 'python3'
|
26
|
-
else
|
27
|
-
python_bin = 'python'
|
28
|
-
end
|
29
|
-
|
30
|
-
file_bucket_path = '/opt/filebucket'
|
31
|
-
file_bucket_command_path = File.join(file_bucket_path, 'filebucketapp.py')
|
32
|
-
file_bucket_command = "#{python_bin} #{file_bucket_command_path}"
|
33
|
-
|
34
24
|
#Manifest
|
35
25
|
site_pp_path = File.join(git_environments_path, 'manifests', 'site.pp')
|
36
26
|
site_pp = create_site_pp(master_certname, ' include helloworld')
|
@@ -60,7 +50,8 @@ inject_site_pp(master, site_pp_path, site_pp)
|
|
60
50
|
step 'Create 10,000 Files'
|
61
51
|
create_remote_file(master, File.join(git_environments_path, '.gitattributes'), '*.file binary')
|
62
52
|
on(master, "mkdir -p #{test_files_path}")
|
63
|
-
|
53
|
+
# create 10000 1k files with random text
|
54
|
+
on(master, "for n in {1..10000}; do dd if=/dev/urandom of=#{test_files_path}/test$( printf %03d \"$n\" ).file bs=1024 count=1; done")
|
64
55
|
|
65
56
|
step 'Create MD5 Checksum of Files'
|
66
57
|
on(master, "cd #{test_files_path};md5sum *.file > #{checksum_file_name}")
|
@@ -21,17 +21,6 @@ helloworld_module_path = File.join(local_files_root_path, 'modules', 'helloworld
|
|
21
21
|
test_files = 'test_files'
|
22
22
|
test_files_path = File.join(git_environments_path, 'test_files')
|
23
23
|
|
24
|
-
if on(master, 'which python', :acceptable_exit_codes => [0, 1]).exit_code == 1
|
25
|
-
python_bin = 'python3'
|
26
|
-
else
|
27
|
-
python_bin = 'python'
|
28
|
-
end
|
29
|
-
|
30
|
-
file_bucket_path = '/opt/filebucket'
|
31
|
-
file_bucket_command_path = File.join(file_bucket_path, 'filebucketapp.py')
|
32
|
-
pattern_file_path = File.join(file_bucket_path, 'psuedo_random_128k.pat')
|
33
|
-
file_bucket_command = "#{python_bin} #{file_bucket_command_path}"
|
34
|
-
|
35
24
|
#Manifest
|
36
25
|
site_pp_path = File.join(git_environments_path, 'manifests', 'site.pp')
|
37
26
|
site_pp = create_site_pp(master_certname, ' include helloworld')
|
@@ -61,7 +50,8 @@ inject_site_pp(master, site_pp_path, site_pp)
|
|
61
50
|
step 'Create Large Binary Files'
|
62
51
|
create_remote_file(master, File.join(git_environments_path, '.gitattributes'), '*.file binary')
|
63
52
|
on(master, "mkdir -p #{test_files_path}")
|
64
|
-
|
53
|
+
# create 10 25 MB files with random characters
|
54
|
+
on(master, "for n in {1..10}; do dd if=/dev/urandom of=#{test_files_path}/test$( printf %03d \"$n\" ).file bs=1048576 count=25; done")
|
65
55
|
|
66
56
|
step 'Create MD5 Checksum of Files'
|
67
57
|
on(master, "cd #{test_files_path};md5sum *.file > #{checksum_file_name}")
|
@@ -109,7 +109,7 @@ module R10K
|
|
109
109
|
end
|
110
110
|
|
111
111
|
def visit_puppetfile(puppetfile)
|
112
|
-
puppetfile.load
|
112
|
+
puppetfile.load(@opts[:'default-branch-override'])
|
113
113
|
|
114
114
|
yield
|
115
115
|
|
@@ -146,7 +146,7 @@ module R10K
|
|
146
146
|
end
|
147
147
|
|
148
148
|
def allowed_initialize_opts
|
149
|
-
super.merge(puppetfile: :self, cachedir: :self, :'no-force' => :self)
|
149
|
+
super.merge(puppetfile: :self, cachedir: :self, :'no-force' => :self, :'default-branch-override' => :self)
|
150
150
|
end
|
151
151
|
end
|
152
152
|
end
|
data/lib/r10k/cli/deploy.rb
CHANGED
@@ -53,6 +53,7 @@ scheduled. On subsequent deployments, Puppetfile deployment will default to off.
|
|
53
53
|
DESCRIPTION
|
54
54
|
|
55
55
|
flag :p, :puppetfile, 'Deploy modules from a puppetfile'
|
56
|
+
required nil, :'default-branch-override', 'Specify a branchname to override the default branch in the puppetfile'
|
56
57
|
|
57
58
|
runner R10K::Action::CriRunner.wrap(R10K::Action::Deploy::Environment)
|
58
59
|
end
|
data/lib/r10k/module/git.rb
CHANGED
@@ -23,6 +23,11 @@ class R10K::Module::Git < R10K::Module::Base
|
|
23
23
|
# @return [String]
|
24
24
|
attr_reader :desired_ref
|
25
25
|
|
26
|
+
# @!attribute [r] default_ref
|
27
|
+
# @api private
|
28
|
+
# @return [String]
|
29
|
+
attr_reader :default_ref
|
30
|
+
|
26
31
|
def initialize(title, dirname, args, environment=nil)
|
27
32
|
super
|
28
33
|
|
data/lib/r10k/puppetfile.rb
CHANGED
@@ -55,17 +55,20 @@ class Puppetfile
|
|
55
55
|
@loaded = false
|
56
56
|
end
|
57
57
|
|
58
|
-
def load
|
58
|
+
def load(default_branch_override = nil)
|
59
59
|
if File.readable? @puppetfile_path
|
60
|
-
self.load!
|
60
|
+
self.load!(default_branch_override)
|
61
61
|
else
|
62
62
|
logger.debug _("Puppetfile %{path} missing or unreadable") % {path: @puppetfile_path.inspect}
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
|
-
def load!
|
66
|
+
def load!(default_branch_override = nil)
|
67
|
+
@default_branch_override = default_branch_override
|
68
|
+
|
67
69
|
dsl = R10K::Puppetfile::DSL.new(self)
|
68
70
|
dsl.instance_eval(puppetfile_contents, @puppetfile_path)
|
71
|
+
|
69
72
|
validate_no_duplicate_names(@modules)
|
70
73
|
@loaded = true
|
71
74
|
rescue SyntaxError, LoadError, ArgumentError => e
|
@@ -107,6 +110,10 @@ class Puppetfile
|
|
107
110
|
install_path = @moduledir
|
108
111
|
end
|
109
112
|
|
113
|
+
if args.is_a?(Hash) && @default_branch_override != nil
|
114
|
+
args[:default_branch] = @default_branch_override
|
115
|
+
end
|
116
|
+
|
110
117
|
# Keep track of all the content this Puppetfile is managing to enable purging.
|
111
118
|
@managed_content[install_path] = Array.new unless @managed_content.has_key?(install_path)
|
112
119
|
|
data/lib/r10k/version.rb
CHANGED
data/locales/r10k.pot
ADDED
@@ -0,0 +1,486 @@
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
2
|
+
# Copyright (C) 2018 Puppet, Inc.
|
3
|
+
# This file is distributed under the same license as the r10k package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
|
5
|
+
#
|
6
|
+
#, fuzzy
|
7
|
+
msgid ""
|
8
|
+
msgstr ""
|
9
|
+
"Project-Id-Version: r10k 2.6.5-10-g5854775\n"
|
10
|
+
"\n"
|
11
|
+
"Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
|
12
|
+
"POT-Creation-Date: 2018-11-29 09:11-0800\n"
|
13
|
+
"PO-Revision-Date: 2018-11-29 09:11-0800\n"
|
14
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
|
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
|
+
"Language: \n"
|
17
|
+
"MIME-Version: 1.0\n"
|
18
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
19
|
+
"Content-Transfer-Encoding: 8bit\n"
|
20
|
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
21
|
+
|
22
|
+
#: ../lib/r10k/action/deploy/deploy_helpers.rb:12 ../lib/r10k/settings/loader.rb:63
|
23
|
+
msgid "No configuration file given, no config file found in current directory, and no global config present"
|
24
|
+
msgstr ""
|
25
|
+
|
26
|
+
#: ../lib/r10k/action/deploy/deploy_helpers.rb:26
|
27
|
+
msgid "Making changes to deployed environments has been administratively disabled."
|
28
|
+
msgstr ""
|
29
|
+
|
30
|
+
#: ../lib/r10k/action/deploy/deploy_helpers.rb:27
|
31
|
+
msgid "Reason: %{write_lock}"
|
32
|
+
msgstr ""
|
33
|
+
|
34
|
+
#: ../lib/r10k/action/deploy/environment.rb:56
|
35
|
+
msgid "Environment(s) \\'%{environments}\\' cannot be found in any source and will not be deployed."
|
36
|
+
msgstr ""
|
37
|
+
|
38
|
+
#: ../lib/r10k/action/deploy/environment.rb:79
|
39
|
+
msgid "Environment %{env_dir} does not match environment name filter, skipping"
|
40
|
+
msgstr ""
|
41
|
+
|
42
|
+
#: ../lib/r10k/action/deploy/environment.rb:86
|
43
|
+
msgid "Deploying environment %{env_path}"
|
44
|
+
msgstr ""
|
45
|
+
|
46
|
+
#: ../lib/r10k/action/deploy/environment.rb:89
|
47
|
+
msgid "Environment %{env_dir} is now at %{env_signature}"
|
48
|
+
msgstr ""
|
49
|
+
|
50
|
+
#: ../lib/r10k/action/deploy/environment.rb:93
|
51
|
+
msgid "Environment %{env_dir} is new, updating all modules"
|
52
|
+
msgstr ""
|
53
|
+
|
54
|
+
#: ../lib/r10k/action/deploy/environment.rb:123
|
55
|
+
msgid "Deploying Puppetfile content %{mod_path}"
|
56
|
+
msgstr ""
|
57
|
+
|
58
|
+
#: ../lib/r10k/action/deploy/module.rb:49
|
59
|
+
msgid "Only updating modules in environment %{opt_env} skipping environment %{env_path}"
|
60
|
+
msgstr ""
|
61
|
+
|
62
|
+
#: ../lib/r10k/action/deploy/module.rb:51
|
63
|
+
msgid "Updating modules %{modules} in environment %{env_path}"
|
64
|
+
msgstr ""
|
65
|
+
|
66
|
+
#: ../lib/r10k/action/deploy/module.rb:63
|
67
|
+
msgid "Deploying module %{mod_path}"
|
68
|
+
msgstr ""
|
69
|
+
|
70
|
+
#: ../lib/r10k/action/deploy/module.rb:66
|
71
|
+
msgid "Only updating modules %{modules}, skipping module %{mod_name}"
|
72
|
+
msgstr ""
|
73
|
+
|
74
|
+
#: ../lib/r10k/action/puppetfile/check.rb:14
|
75
|
+
msgid "Syntax OK"
|
76
|
+
msgstr ""
|
77
|
+
|
78
|
+
#: ../lib/r10k/action/puppetfile/cri_runner.rb:19
|
79
|
+
msgid "The use of the PUPPETFILE and PUPPETFILE_DIR environment variables is deprecated."
|
80
|
+
msgstr ""
|
81
|
+
|
82
|
+
#: ../lib/r10k/action/puppetfile/install.rb:30
|
83
|
+
msgid "Updating module %{mod_path}"
|
84
|
+
msgstr ""
|
85
|
+
|
86
|
+
#: ../lib/r10k/action/puppetfile/install.rb:33
|
87
|
+
msgid "Cannot track control repo branch for content '%{name}' when not part of a 'deploy' action, will use default if available."
|
88
|
+
msgstr ""
|
89
|
+
|
90
|
+
#: ../lib/r10k/action/runner.rb:49 ../lib/r10k/deployment/config.rb:42
|
91
|
+
msgid "Overriding config file setting '%{key}': '%{old_val}' -> '%{new_val}'"
|
92
|
+
msgstr ""
|
93
|
+
|
94
|
+
#: ../lib/r10k/action/runner.rb:82
|
95
|
+
msgid "Reading configuration from %{config_path}"
|
96
|
+
msgstr ""
|
97
|
+
|
98
|
+
#: ../lib/r10k/action/runner.rb:85
|
99
|
+
msgid "No config file explicitly given and no default config file could be found, default settings will be used."
|
100
|
+
msgstr ""
|
101
|
+
|
102
|
+
#: ../lib/r10k/deployment.rb:90
|
103
|
+
msgid "Environment collision at %{env_path} between %{source}:%{env_name} and %{osource}:%{oenv_name}"
|
104
|
+
msgstr ""
|
105
|
+
|
106
|
+
#: ../lib/r10k/deployment.rb:118
|
107
|
+
msgid "Unable to load sources; the supplied configuration does not define the 'sources' key"
|
108
|
+
msgstr ""
|
109
|
+
|
110
|
+
#: ../lib/r10k/environment/base.rb:53 ../lib/r10k/environment/base.rb:69 ../lib/r10k/environment/base.rb:78 ../lib/r10k/source/base.rb:58
|
111
|
+
msgid "%{class} has not implemented method %{method}"
|
112
|
+
msgstr ""
|
113
|
+
|
114
|
+
#: ../lib/r10k/feature.rb:27
|
115
|
+
msgid "Testing to see if feature %{name} is available."
|
116
|
+
msgstr ""
|
117
|
+
|
118
|
+
#: ../lib/r10k/feature.rb:30
|
119
|
+
msgid "Feature %{name} %{message} available."
|
120
|
+
msgstr ""
|
121
|
+
|
122
|
+
#: ../lib/r10k/feature.rb:37
|
123
|
+
msgid "Attempting to load library '%{lib}' for feature %{name}"
|
124
|
+
msgstr ""
|
125
|
+
|
126
|
+
#: ../lib/r10k/feature.rb:41
|
127
|
+
msgid "Error while loading library %{lib} for feature %{name}: %{error_msg}"
|
128
|
+
msgstr ""
|
129
|
+
|
130
|
+
#: ../lib/r10k/feature.rb:47
|
131
|
+
msgid "Evaluating proc %{block} to test for feature %{name}"
|
132
|
+
msgstr ""
|
133
|
+
|
134
|
+
#: ../lib/r10k/feature.rb:49
|
135
|
+
msgid "Proc %{block} for feature %{name} returned %{output}"
|
136
|
+
msgstr ""
|
137
|
+
|
138
|
+
#: ../lib/r10k/forge/module_release.rb:164
|
139
|
+
msgid "Unpacking %{tarball_cache_path} to %{target_dir} (with tmpdir %{tmp_path})"
|
140
|
+
msgstr ""
|
141
|
+
|
142
|
+
#: ../lib/r10k/forge/module_release.rb:166
|
143
|
+
msgid "Valid files unpacked: %{valid_files}"
|
144
|
+
msgstr ""
|
145
|
+
|
146
|
+
#: ../lib/r10k/forge/module_release.rb:168
|
147
|
+
msgid "These files existed in the module's tar file, but are invalid filetypes and were not unpacked: %{invalid_files}"
|
148
|
+
msgstr ""
|
149
|
+
|
150
|
+
#: ../lib/r10k/forge/module_release.rb:171
|
151
|
+
msgid "Symlinks are unsupported and were not unpacked from the module tarball. %{release_slug} contained these ignored symlinks: %{symlinks}"
|
152
|
+
msgstr ""
|
153
|
+
|
154
|
+
#: ../lib/r10k/git.rb:32
|
155
|
+
msgid "Rugged has been compiled without support for %{transport}; Git repositories will not be reachable via %{transport}."
|
156
|
+
msgstr ""
|
157
|
+
|
158
|
+
#: ../lib/r10k/git.rb:68
|
159
|
+
msgid "No Git providers are functional."
|
160
|
+
msgstr ""
|
161
|
+
|
162
|
+
#: ../lib/r10k/git.rb:85
|
163
|
+
msgid "No Git provider named '%{name}'."
|
164
|
+
msgstr ""
|
165
|
+
|
166
|
+
#: ../lib/r10k/git.rb:89
|
167
|
+
msgid "Git provider '%{name}' is not functional."
|
168
|
+
msgstr ""
|
169
|
+
|
170
|
+
#: ../lib/r10k/git.rb:96
|
171
|
+
msgid "Setting Git provider to %{provider}"
|
172
|
+
msgstr ""
|
173
|
+
|
174
|
+
#: ../lib/r10k/git.rb:104
|
175
|
+
msgid "No Git provider set."
|
176
|
+
msgstr ""
|
177
|
+
|
178
|
+
#: ../lib/r10k/git.rb:107
|
179
|
+
msgid "Setting Git provider to default provider %{name}"
|
180
|
+
msgstr ""
|
181
|
+
|
182
|
+
#: ../lib/r10k/git/alternates.rb:46
|
183
|
+
msgid "Cannot write %{file}; parent directory does not exist"
|
184
|
+
msgstr ""
|
185
|
+
|
186
|
+
#: ../lib/r10k/git/cache.rb:55
|
187
|
+
msgid "%{class}#path is deprecated; use #git_dir"
|
188
|
+
msgstr ""
|
189
|
+
|
190
|
+
#: ../lib/r10k/git/cache.rb:84
|
191
|
+
msgid "Creating new git cache for %{remote}"
|
192
|
+
msgstr ""
|
193
|
+
|
194
|
+
#: ../lib/r10k/git/rugged/bare_repository.rb:34 ../lib/r10k/git/rugged/working_repository.rb:28
|
195
|
+
msgid "Cloning '%{remote}' into %{path}"
|
196
|
+
msgstr ""
|
197
|
+
|
198
|
+
#: ../lib/r10k/git/rugged/bare_repository.rb:52
|
199
|
+
msgid "Fetching remote '%{remote_name}' at %{path}"
|
200
|
+
msgstr ""
|
201
|
+
|
202
|
+
#: ../lib/r10k/git/rugged/bare_repository.rb:56
|
203
|
+
msgid "Rugged versions prior to 0.24.0 do not support pruning stale branches during fetch, please upgrade your \\'rugged\\' gem. (Current version is: %{version})"
|
204
|
+
msgstr ""
|
205
|
+
|
206
|
+
#: ../lib/r10k/git/rugged/credentials.rb:24
|
207
|
+
msgid "Authentication failed for Git remote %{url}."
|
208
|
+
msgstr ""
|
209
|
+
|
210
|
+
#: ../lib/r10k/git/rugged/credentials.rb:48
|
211
|
+
msgid "Using per-repository private key %{key} for URL %{url}"
|
212
|
+
msgstr ""
|
213
|
+
|
214
|
+
#: ../lib/r10k/git/rugged/credentials.rb:51
|
215
|
+
msgid "URL %{url} has no per-repository private key using '%{key}'."
|
216
|
+
msgstr ""
|
217
|
+
|
218
|
+
#: ../lib/r10k/git/rugged/credentials.rb:53
|
219
|
+
msgid "Git remote %{url} uses the SSH protocol but no private key was given"
|
220
|
+
msgstr ""
|
221
|
+
|
222
|
+
#: ../lib/r10k/git/rugged/credentials.rb:57
|
223
|
+
msgid "Unable to use SSH key auth for %{url}: private key %{private_key} is missing or unreadable"
|
224
|
+
msgstr ""
|
225
|
+
|
226
|
+
#: ../lib/r10k/git/rugged/credentials.rb:80
|
227
|
+
msgid "URL %{url} includes the username %{username}, using that user for authentication."
|
228
|
+
msgstr ""
|
229
|
+
|
230
|
+
#: ../lib/r10k/git/rugged/credentials.rb:83
|
231
|
+
msgid "URL %{url} did not specify a user, using %{user} from configuration"
|
232
|
+
msgstr ""
|
233
|
+
|
234
|
+
#: ../lib/r10k/git/rugged/credentials.rb:86
|
235
|
+
msgid "URL %{url} did not specify a user, using current user %{user}"
|
236
|
+
msgstr ""
|
237
|
+
|
238
|
+
#: ../lib/r10k/git/rugged/thin_repository.rb:85 ../lib/r10k/git/shellgit/thin_repository.rb:65
|
239
|
+
msgid "Updated repo %{path} to include alternate object db path %{objects_dir}"
|
240
|
+
msgstr ""
|
241
|
+
|
242
|
+
#: ../lib/r10k/git/rugged/working_repository.rb:67
|
243
|
+
msgid "Checking out ref '%{ref}' (resolved to SHA '%{sha}') in repository %{path}"
|
244
|
+
msgstr ""
|
245
|
+
|
246
|
+
#: ../lib/r10k/git/rugged/working_repository.rb:87
|
247
|
+
msgid "Fetching remote '%{remote}' at %{path}"
|
248
|
+
msgstr ""
|
249
|
+
|
250
|
+
#: ../lib/r10k/git/stateful_repository.rb:40
|
251
|
+
msgid "Unable to sync repo to unresolvable ref '%{ref}'"
|
252
|
+
msgstr ""
|
253
|
+
|
254
|
+
#: ../lib/r10k/git/stateful_repository.rb:47
|
255
|
+
msgid "Cloning %{repo_path} and checking out %{ref}"
|
256
|
+
msgstr ""
|
257
|
+
|
258
|
+
#: ../lib/r10k/git/stateful_repository.rb:50
|
259
|
+
msgid "Replacing %{repo_path} and checking out %{ref}"
|
260
|
+
msgstr ""
|
261
|
+
|
262
|
+
#: ../lib/r10k/git/stateful_repository.rb:54 ../lib/r10k/git/stateful_repository.rb:59
|
263
|
+
msgid "Updating %{repo_path} to %{ref}"
|
264
|
+
msgstr ""
|
265
|
+
|
266
|
+
#: ../lib/r10k/git/stateful_repository.rb:58
|
267
|
+
msgid "Overwriting local modifications to %{repo_path}"
|
268
|
+
msgstr ""
|
269
|
+
|
270
|
+
#: ../lib/r10k/git/stateful_repository.rb:62
|
271
|
+
msgid "Skipping %{repo_path} due to local modifications"
|
272
|
+
msgstr ""
|
273
|
+
|
274
|
+
#: ../lib/r10k/git/stateful_repository.rb:65
|
275
|
+
msgid "%{repo_path} is already at Git ref %{ref}"
|
276
|
+
msgstr ""
|
277
|
+
|
278
|
+
#: ../lib/r10k/initializers.rb:30
|
279
|
+
msgid "the purgedirs key in r10k.yaml is deprecated. it is currently ignored."
|
280
|
+
msgstr ""
|
281
|
+
|
282
|
+
#: ../lib/r10k/keyed_factory.rb:18
|
283
|
+
msgid "Class already registered for %{key}"
|
284
|
+
msgstr ""
|
285
|
+
|
286
|
+
#: ../lib/r10k/keyed_factory.rb:32
|
287
|
+
msgid "No class registered for %{key}"
|
288
|
+
msgstr ""
|
289
|
+
|
290
|
+
#: ../lib/r10k/logging.rb:60
|
291
|
+
msgid "Invalid log level '%{val}'. Valid levels are %{log_levels}"
|
292
|
+
msgstr ""
|
293
|
+
|
294
|
+
#: ../lib/r10k/module.rb:29
|
295
|
+
msgid "Module %{name} with args %{args} doesn't have an implementation. (Are you using the right arguments?)"
|
296
|
+
msgstr ""
|
297
|
+
|
298
|
+
#: ../lib/r10k/module/base.rb:101
|
299
|
+
msgid "Module name (%{title}) must match either 'modulename' or 'owner/modulename'"
|
300
|
+
msgstr ""
|
301
|
+
|
302
|
+
#: ../lib/r10k/module/forge.rb:70 ../lib/r10k/module/forge.rb:95
|
303
|
+
msgid "The module %{title} does not exist on %{url}."
|
304
|
+
msgstr ""
|
305
|
+
|
306
|
+
#: ../lib/r10k/module/forge.rb:170
|
307
|
+
msgid "Forge module names must match 'owner/modulename'"
|
308
|
+
msgstr ""
|
309
|
+
|
310
|
+
#: ../lib/r10k/module/git.rb:92
|
311
|
+
msgid "Unhandled options %{unhandled} specified for %{class}"
|
312
|
+
msgstr ""
|
313
|
+
|
314
|
+
#: ../lib/r10k/module/local.rb:34
|
315
|
+
msgid "Module %{title} is a local module, always indicating synced."
|
316
|
+
msgstr ""
|
317
|
+
|
318
|
+
#: ../lib/r10k/module/metadata_file.rb:25
|
319
|
+
msgid "Could not read metadata.json"
|
320
|
+
msgstr ""
|
321
|
+
|
322
|
+
#: ../lib/r10k/puppetfile.rb:62
|
323
|
+
msgid "Puppetfile %{path} missing or unreadable"
|
324
|
+
msgstr ""
|
325
|
+
|
326
|
+
#: ../lib/r10k/puppetfile.rb:72
|
327
|
+
msgid "Failed to evaluate %{path}"
|
328
|
+
msgstr ""
|
329
|
+
|
330
|
+
#: ../lib/r10k/puppetfile.rb:86
|
331
|
+
msgid "Puppetfiles should not contain duplicate module names and will result in an error in r10k v3.x."
|
332
|
+
msgstr ""
|
333
|
+
|
334
|
+
#: ../lib/r10k/puppetfile.rb:87
|
335
|
+
msgid "Remove the duplicates of the following modules: %{dupes}"
|
336
|
+
msgstr ""
|
337
|
+
|
338
|
+
#: ../lib/r10k/puppetfile.rb:207
|
339
|
+
msgid "unrecognized declaration '%{method}'"
|
340
|
+
msgstr ""
|
341
|
+
|
342
|
+
#: ../lib/r10k/settings/collection.rb:77
|
343
|
+
msgid "Validation failed for '%{name}' settings group"
|
344
|
+
msgstr ""
|
345
|
+
|
346
|
+
#: ../lib/r10k/settings/collection.rb:79
|
347
|
+
msgid "Validation failed for settings group"
|
348
|
+
msgstr ""
|
349
|
+
|
350
|
+
#: ../lib/r10k/settings/container.rb:87
|
351
|
+
msgid "Key %{key} is not a valid key"
|
352
|
+
msgstr ""
|
353
|
+
|
354
|
+
#: ../lib/r10k/settings/enum_definition.rb:13
|
355
|
+
msgid "Setting %{name} may only contain %{enums}; the disallowed values %{invalid} were present"
|
356
|
+
msgstr ""
|
357
|
+
|
358
|
+
#: ../lib/r10k/settings/enum_definition.rb:17
|
359
|
+
msgid "Setting %{name} should be one of %{enums}, not '%{value}'"
|
360
|
+
msgstr ""
|
361
|
+
|
362
|
+
#: ../lib/r10k/settings/helpers.rb:19
|
363
|
+
msgid "%{class} instances cannot be reassigned to a new parent."
|
364
|
+
msgstr ""
|
365
|
+
|
366
|
+
#: ../lib/r10k/settings/helpers.rb:23
|
367
|
+
msgid "%{class} instances may only belong to a settings collection or list."
|
368
|
+
msgstr ""
|
369
|
+
|
370
|
+
#: ../lib/r10k/settings/list.rb:66
|
371
|
+
msgid "Validation failed for '%{name}' settings list"
|
372
|
+
msgstr ""
|
373
|
+
|
374
|
+
#: ../lib/r10k/settings/loader.rb:45
|
375
|
+
msgid "Both %{default_path} and %{old_default_path} configuration files exist."
|
376
|
+
msgstr ""
|
377
|
+
|
378
|
+
#: ../lib/r10k/settings/loader.rb:46
|
379
|
+
msgid "%{default_path} will be used."
|
380
|
+
msgstr ""
|
381
|
+
|
382
|
+
#: ../lib/r10k/settings/loader.rb:52
|
383
|
+
msgid "The r10k configuration file at %{old_default_path} is deprecated."
|
384
|
+
msgstr ""
|
385
|
+
|
386
|
+
#: ../lib/r10k/settings/loader.rb:53
|
387
|
+
msgid "Please move your r10k configuration to %{default_path}."
|
388
|
+
msgstr ""
|
389
|
+
|
390
|
+
#: ../lib/r10k/settings/loader.rb:69
|
391
|
+
msgid "Couldn't load config file: %{error_msg}"
|
392
|
+
msgstr ""
|
393
|
+
|
394
|
+
#: ../lib/r10k/settings/loader.rb:73
|
395
|
+
msgid "File exists at #{path} but doesn't contain any YAML"
|
396
|
+
msgstr ""
|
397
|
+
|
398
|
+
#: ../lib/r10k/settings/uri_definition.rb:12
|
399
|
+
msgid "Setting %{name} requires a URL but '%{value}' could not be parsed as a URL"
|
400
|
+
msgstr ""
|
401
|
+
|
402
|
+
#: ../lib/r10k/source/git.rb:72
|
403
|
+
msgid "Fetching '%{remote}' to determine current branches."
|
404
|
+
msgstr ""
|
405
|
+
|
406
|
+
#: ../lib/r10k/source/git.rb:75
|
407
|
+
msgid "Unable to determine current branches for Git source '%{name}' (%{basedir})"
|
408
|
+
msgstr ""
|
409
|
+
|
410
|
+
#: ../lib/r10k/source/git.rb:100
|
411
|
+
msgid "Environment %{env_name} contained non-word characters, correcting name to %{corrected_env_name}"
|
412
|
+
msgstr ""
|
413
|
+
|
414
|
+
#: ../lib/r10k/source/git.rb:104
|
415
|
+
msgid "Environment %{env_name} contained non-word characters, ignoring it."
|
416
|
+
msgstr ""
|
417
|
+
|
418
|
+
#: ../lib/r10k/source/git.rb:123 ../lib/r10k/source/svn.rb:111
|
419
|
+
msgid "Branch %{branch} filtered out by ignore_branch_prefixes %{ibp}"
|
420
|
+
msgstr ""
|
421
|
+
|
422
|
+
#: ../lib/r10k/svn/working_dir.rb:43
|
423
|
+
msgid "Both username and password must be specified"
|
424
|
+
msgstr ""
|
425
|
+
|
426
|
+
#: ../lib/r10k/util/basedir.rb:34
|
427
|
+
msgid "Expected Array<#desired_contents>, got R10K::Deployment"
|
428
|
+
msgstr ""
|
429
|
+
|
430
|
+
#: ../lib/r10k/util/basedir.rb:58
|
431
|
+
msgid "Source %{source_name} in %{path} manages contents %{contents}"
|
432
|
+
msgstr ""
|
433
|
+
|
434
|
+
#: ../lib/r10k/util/license.rb:11
|
435
|
+
msgid "pe_license feature is available, loading PE license key"
|
436
|
+
msgstr ""
|
437
|
+
|
438
|
+
#: ../lib/r10k/util/license.rb:15
|
439
|
+
msgid "Invalid PE license detected: %{error_msg}"
|
440
|
+
msgstr ""
|
441
|
+
|
442
|
+
#: ../lib/r10k/util/license.rb:18
|
443
|
+
msgid "pe_license feature is not available, PE only Puppet modules will not be downloadable."
|
444
|
+
msgstr ""
|
445
|
+
|
446
|
+
#: ../lib/r10k/util/purgeable.rb:50
|
447
|
+
msgid "Not purging %{item} due to internal exclusion match: %{exclusion_match}"
|
448
|
+
msgstr ""
|
449
|
+
|
450
|
+
#: ../lib/r10k/util/purgeable.rb:52
|
451
|
+
msgid "Not purging %{item} due to whitelist match: %{whitelist_match}"
|
452
|
+
msgstr ""
|
453
|
+
|
454
|
+
#: ../lib/r10k/util/purgeable.rb:69
|
455
|
+
msgid "No unmanaged contents in %{managed_dirs}, nothing to purge"
|
456
|
+
msgstr ""
|
457
|
+
|
458
|
+
#: ../lib/r10k/util/purgeable.rb:74
|
459
|
+
msgid "Removing unmanaged path %{path}"
|
460
|
+
msgstr ""
|
461
|
+
|
462
|
+
#: ../lib/r10k/util/purgeable.rb:79
|
463
|
+
msgid "Unable to remove unmanaged path: %{path}"
|
464
|
+
msgstr ""
|
465
|
+
|
466
|
+
#: ../lib/r10k/util/setopts.rb:49
|
467
|
+
msgid "%{class_name} cannot handle option '%{key}'"
|
468
|
+
msgstr ""
|
469
|
+
|
470
|
+
#: ../lib/r10k/util/subprocess.rb:69
|
471
|
+
msgid "Starting process: %{args}"
|
472
|
+
msgstr ""
|
473
|
+
|
474
|
+
#: ../lib/r10k/util/subprocess.rb:74
|
475
|
+
msgid ""
|
476
|
+
"Finished process:\n"
|
477
|
+
"%{result}"
|
478
|
+
msgstr ""
|
479
|
+
|
480
|
+
#: ../lib/r10k/util/subprocess.rb:77
|
481
|
+
msgid "Command exited with non-zero exit code"
|
482
|
+
msgstr ""
|
483
|
+
|
484
|
+
#: ../lib/r10k/util/symbolize_keys.rb:17
|
485
|
+
msgid "An existing interned key for %{key} exists, cannot overwrite"
|
486
|
+
msgstr ""
|
@@ -19,6 +19,10 @@ describe R10K::Action::Deploy::Environment do
|
|
19
19
|
described_class.new({puppetfile: true}, [])
|
20
20
|
end
|
21
21
|
|
22
|
+
it "can accept a default_branch_override option" do
|
23
|
+
described_class.new({:'default-branch-override' => 'default_branch_override_name'}, [])
|
24
|
+
end
|
25
|
+
|
22
26
|
it "can accept a no-force option" do
|
23
27
|
described_class.new({:'no-force' => true}, [])
|
24
28
|
end
|
@@ -181,6 +181,25 @@ describe R10K::Puppetfile do
|
|
181
181
|
subject = described_class.new(path)
|
182
182
|
expect { subject.load! }.not_to raise_error
|
183
183
|
end
|
184
|
+
|
185
|
+
it "creates a git module and applies the default branch sepcified in the Puppetfile" do
|
186
|
+
path = File.join(PROJECT_ROOT, 'spec', 'fixtures', 'unit', 'puppetfile', 'default-branch-override')
|
187
|
+
pf_path = File.join(path, 'Puppetfile')
|
188
|
+
subject = described_class.new(path)
|
189
|
+
expect { subject.load! }.not_to raise_error
|
190
|
+
git_module = subject.modules[0]
|
191
|
+
expect(git_module.default_ref).to eq 'here_lies_the_default_branch'
|
192
|
+
end
|
193
|
+
|
194
|
+
it "creates a git module and applies the provided default_branch_override" do
|
195
|
+
path = File.join(PROJECT_ROOT, 'spec', 'fixtures', 'unit', 'puppetfile', 'default-branch-override')
|
196
|
+
pf_path = File.join(path, 'Puppetfile')
|
197
|
+
subject = described_class.new(path)
|
198
|
+
default_branch_override = 'default_branch_override_name'
|
199
|
+
expect { subject.load!(default_branch_override) }.not_to raise_error
|
200
|
+
git_module = subject.modules[0]
|
201
|
+
expect(git_module.default_ref).to eq default_branch_override
|
202
|
+
end
|
184
203
|
end
|
185
204
|
|
186
205
|
describe "accepting a visitor" do
|
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: 2.6.
|
4
|
+
version: 2.6.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored
|
@@ -160,7 +160,6 @@ executables:
|
|
160
160
|
extensions: []
|
161
161
|
extra_rdoc_files: []
|
162
162
|
files:
|
163
|
-
- ".gitattributes"
|
164
163
|
- ".gitignore"
|
165
164
|
- ".travis.yml"
|
166
165
|
- CHANGELOG.mkd
|
@@ -170,7 +169,6 @@ files:
|
|
170
169
|
- MAINTAINERS
|
171
170
|
- README.mkd
|
172
171
|
- Rakefile
|
173
|
-
- azure-pipelines.yml
|
174
172
|
- bin/r10k
|
175
173
|
- doc/common-patterns.mkd
|
176
174
|
- doc/dynamic-environments.mkd
|
@@ -187,13 +185,6 @@ files:
|
|
187
185
|
- doc/git/providers.mkd
|
188
186
|
- doc/puppetfile.mkd
|
189
187
|
- doc/updating-your-puppetfile.mkd
|
190
|
-
- docker/.rspec
|
191
|
-
- docker/Gemfile
|
192
|
-
- docker/ci/build
|
193
|
-
- docker/ci/build.ps1
|
194
|
-
- docker/distelli-manifest.yml
|
195
|
-
- docker/r10k/Dockerfile
|
196
|
-
- docker/r10k/spec/dockerfile_spec.rb
|
197
188
|
- integration/Gemfile
|
198
189
|
- integration/README.mkd
|
199
190
|
- integration/Rakefile
|
@@ -215,7 +206,6 @@ files:
|
|
215
206
|
- integration/pre-suite/00_pe_install.rb
|
216
207
|
- integration/pre-suite/10_git_config.rb
|
217
208
|
- integration/pre-suite/20_pe_r10k.rb
|
218
|
-
- integration/pre-suite/30_test_utils.rb
|
219
209
|
- integration/pre-suite/README.mkd
|
220
210
|
- integration/scripts/README.mkd
|
221
211
|
- integration/scripts/setup_r10k_env_centos5.sh
|
@@ -392,6 +382,7 @@ files:
|
|
392
382
|
- lib/r10k/util/symbolize_keys.rb
|
393
383
|
- lib/r10k/version.rb
|
394
384
|
- locales/config.yaml
|
385
|
+
- locales/r10k.pot
|
395
386
|
- r10k.gemspec
|
396
387
|
- r10k.yaml.example
|
397
388
|
- spec/fixtures/empty/.empty
|
@@ -400,6 +391,7 @@ files:
|
|
400
391
|
- spec/fixtures/module/forge/eight_hundred/Modulefile
|
401
392
|
- spec/fixtures/module/forge/eight_hundred/metadata.json
|
402
393
|
- spec/fixtures/unit/puppetfile/argument-error/Puppetfile
|
394
|
+
- spec/fixtures/unit/puppetfile/default-branch-override/Puppetfile
|
403
395
|
- spec/fixtures/unit/puppetfile/invalid-syntax/Puppetfile
|
404
396
|
- spec/fixtures/unit/puppetfile/load-error/Puppetfile
|
405
397
|
- spec/fixtures/unit/puppetfile/valid-forge-with-version/Puppetfile
|
data/.gitattributes
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
docker/r10k/* text eol=lf
|
data/azure-pipelines.yml
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
pool:
|
2
|
-
# self-hosted agent on Windows 10 1709 environment
|
3
|
-
# 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
|
5
|
-
name: Default
|
6
|
-
|
7
|
-
variables:
|
8
|
-
BUILD_REPOSITORY: 127.0.0.1
|
9
|
-
|
10
|
-
steps:
|
11
|
-
- powershell: |
|
12
|
-
$line = '=' * 80
|
13
|
-
Write-Host "$line`nWindows`n$line`n"
|
14
|
-
Get-ComputerInfo |
|
15
|
-
select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer |
|
16
|
-
Out-String |
|
17
|
-
Write-Host
|
18
|
-
#
|
19
|
-
# Azure
|
20
|
-
#
|
21
|
-
Write-Host "`n`n$line`nAzure`n$line`n"
|
22
|
-
Invoke-RestMethod -Headers @{'Metadata'='true'} -URI http://169.254.169.254/metadata/instance?api-version=2017-12-01 -Method Get |
|
23
|
-
ConvertTo-Json -Depth 10 |
|
24
|
-
Write-Host
|
25
|
-
#
|
26
|
-
# Docker
|
27
|
-
#
|
28
|
-
Write-Host "`n`n$line`nDocker`n$line`n"
|
29
|
-
docker version
|
30
|
-
docker images
|
31
|
-
docker info
|
32
|
-
sc.exe qc docker
|
33
|
-
#
|
34
|
-
# Ruby
|
35
|
-
#
|
36
|
-
Write-Host "`n`n$line`nRuby`n$line`n"
|
37
|
-
ruby --version
|
38
|
-
gem --version
|
39
|
-
bundle --version
|
40
|
-
#
|
41
|
-
# Environment
|
42
|
-
#
|
43
|
-
Write-Host "`n`n$line`nEnvironment`n$line`n"
|
44
|
-
Get-ChildItem Env: | % { Write-Host "$($_.Key): $($_.Value)" }
|
45
|
-
displayName: Diagnostic Host Information
|
46
|
-
name: hostinfo
|
47
|
-
- powershell: |
|
48
|
-
. ./docker/ci/build.ps1
|
49
|
-
Invoke-ContainerBuildSetup
|
50
|
-
displayName: Prepare Build Environment
|
51
|
-
name: build_prepare
|
52
|
-
- powershell: |
|
53
|
-
. ./docker/ci/build.ps1
|
54
|
-
Build-Container -Name r10k -Repository $ENV:BUILD_REPOSITORY
|
55
|
-
displayName: Build r10k
|
56
|
-
name: build_r10k
|
57
|
-
- powershell: |
|
58
|
-
. ./docker/ci/build.ps1
|
59
|
-
Invoke-ContainerTest -Name r10k -Repository $ENV:BUILD_REPOSITORY
|
60
|
-
displayName: Test r10k
|
61
|
-
name: test_r10k
|
62
|
-
- task: PublishTestResults@2
|
63
|
-
displayName: Publish r10k test results
|
64
|
-
inputs:
|
65
|
-
testResultsFormat: 'JUnit'
|
66
|
-
testResultsFiles: 'docker/**/TEST-*.xml'
|
67
|
-
testRunTitle: r10k Test Results
|
68
|
-
- powershell: |
|
69
|
-
. ./docker/ci/build.ps1
|
70
|
-
Clear-ContainerBuilds
|
71
|
-
displayName: Container Cleanup
|
72
|
-
condition: always()
|
data/docker/.rspec
DELETED
data/docker/Gemfile
DELETED
@@ -1,14 +0,0 @@
|
|
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
|
12
|
-
|
13
|
-
gem 'puppet_docker_tools', *location_for(ENV['PUPPET_DOCKER_LOCATION'] || '~> 0.2')
|
14
|
-
gem 'rspec_junit_formatter'
|
data/docker/ci/build
DELETED
@@ -1,72 +0,0 @@
|
|
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" --no-latest
|
20
|
-
bundle exec puppet-docker spec "$container_name" --image "puppet/$container_name:$version"
|
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" --no-latest
|
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
|
-
: ===
|
data/docker/ci/build.ps1
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
$ErrorActionPreference = 'Stop'
|
2
|
-
|
3
|
-
function Get-CurrentDirectory
|
4
|
-
{
|
5
|
-
$thisName = $MyInvocation.MyCommand.Name
|
6
|
-
[IO.Path]::GetDirectoryName((Get-Content function:$thisName).File)
|
7
|
-
}
|
8
|
-
|
9
|
-
# installs gems for build and test and grabs base images
|
10
|
-
function Invoke-ContainerBuildSetup
|
11
|
-
{
|
12
|
-
Push-Location (Get-CurrentDirectory)
|
13
|
-
bundle install --path '.bundle/gems'
|
14
|
-
bundle exec puppet-docker update-base-images ubuntu:16.04
|
15
|
-
Pop-Location
|
16
|
-
}
|
17
|
-
|
18
|
-
function Build-Container($Name, $Repository = '127.0.0.1')
|
19
|
-
{
|
20
|
-
Push-Location (Join-Path (Get-CurrentDirectory) '..')
|
21
|
-
bundle exec puppet-docker local-lint $Name
|
22
|
-
bundle exec puppet-docker build $Name --no-cache --repository $Repository --build-arg namespace=$Repository
|
23
|
-
Pop-Location
|
24
|
-
}
|
25
|
-
|
26
|
-
function Invoke-ContainerTest($Name, $Repository = '127.0.0.1')
|
27
|
-
{
|
28
|
-
Push-Location (Join-Path (Get-CurrentDirectory) '..')
|
29
|
-
bundle exec puppet-docker spec $Name --image $Repository/$Name
|
30
|
-
Pop-Location
|
31
|
-
}
|
32
|
-
|
33
|
-
# removes any temporary containers / images used during builds
|
34
|
-
function Clear-ContainerBuilds
|
35
|
-
{
|
36
|
-
docker container prune --force
|
37
|
-
docker image prune --filter "dangling=true" --force
|
38
|
-
}
|
data/docker/r10k/Dockerfile
DELETED
@@ -1,41 +0,0 @@
|
|
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 /
|
@@ -1,24 +0,0 @@
|
|
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
|
-
include_context 'with a docker container' do
|
8
|
-
def docker_run_options
|
9
|
-
'--entrypoint /bin/bash'
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
describe 'uses the correct version of Ubuntu' do
|
14
|
-
it_should_behave_like 'a running container', 'cat /etc/lsb-release', nil, 'Ubuntu 16.04'
|
15
|
-
end
|
16
|
-
|
17
|
-
describe 'has puppet-agent installed' do
|
18
|
-
it_should_behave_like 'a running container', 'dpkg -l puppet-agent', 0
|
19
|
-
end
|
20
|
-
|
21
|
-
describe 'has /opt/puppetlabs/puppet/bin/r10k' do
|
22
|
-
it_should_behave_like 'a running container', 'stat -L /opt/puppetlabs/puppet/bin/r10k', 0, 'Access: \(0755\/\-rwxr\-xr\-x\)'
|
23
|
-
end
|
24
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
test_name 'CODEMGMT-62 - C63199 - Install Utilities for r10k Integration Testing'
|
2
|
-
|
3
|
-
#Init
|
4
|
-
filebucket_path = '/opt/filebucket'
|
5
|
-
filebucket_script_path = '/etc/profile.d/filebucket_path.sh'
|
6
|
-
|
7
|
-
filebucket_script = <<-SCRIPT
|
8
|
-
#!/bin/bash
|
9
|
-
export PATH="${PATH}:#{filebucket_path}"
|
10
|
-
SCRIPT
|
11
|
-
|
12
|
-
step 'Install "filebucket" File Generator'
|
13
|
-
create_remote_file(master, filebucket_script_path, filebucket_script)
|
14
|
-
on(master, "git clone git://github.com/puppetlabs/filebucket.git #{filebucket_path}")
|
15
|
-
|
16
|
-
on(master, "chmod 755 #{filebucket_script_path}")
|
17
|
-
on(master, "chmod 755 #{filebucket_path}/filebucketapp.py")
|