r10k 3.12.1 → 3.14.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/docker.yml +1 -1
- data/.github/workflows/rspec_tests.yml +5 -5
- data/.github/workflows/stale.yml +2 -0
- data/.gitignore +1 -0
- data/.travis.yml +1 -1
- data/CHANGELOG.mkd +32 -0
- data/doc/dynamic-environments/configuration.mkd +59 -10
- data/doc/dynamic-environments/usage.mkd +4 -0
- data/doc/git/providers.mkd +22 -0
- data/doc/puppetfile.mkd +13 -0
- data/docker/Makefile +1 -1
- data/docker/r10k/Dockerfile +1 -1
- data/docker/r10k/release.Dockerfile +1 -1
- data/lib/r10k/action/runner.rb +6 -0
- data/lib/r10k/environment/bare.rb +4 -7
- data/lib/r10k/environment/name.rb +14 -9
- data/lib/r10k/environment/plain.rb +16 -0
- data/lib/r10k/environment/tarball.rb +78 -0
- data/lib/r10k/environment/with_modules.rb +1 -1
- data/lib/r10k/environment.rb +2 -0
- data/lib/r10k/errors.rb +5 -0
- data/lib/r10k/forge/module_release.rb +2 -1
- data/lib/r10k/git/cache.rb +4 -13
- data/lib/r10k/git/rugged/bare_repository.rb +1 -1
- data/lib/r10k/git/rugged/base_repository.rb +12 -1
- data/lib/r10k/git/rugged/cache.rb +8 -0
- data/lib/r10k/git/rugged/credentials.rb +1 -1
- data/lib/r10k/git/rugged/working_repository.rb +1 -1
- data/lib/r10k/git/stateful_repository.rb +2 -0
- data/lib/r10k/initializers.rb +20 -0
- data/lib/r10k/logging.rb +78 -1
- data/lib/r10k/module/base.rb +6 -2
- data/lib/r10k/module/forge.rb +10 -10
- data/lib/r10k/module/git.rb +1 -3
- data/lib/r10k/module/local.rb +1 -1
- data/lib/r10k/module/tarball.rb +101 -0
- data/lib/r10k/module.rb +1 -0
- data/lib/r10k/module_loader/puppetfile/dsl.rb +1 -1
- data/lib/r10k/module_loader/puppetfile.rb +21 -7
- data/lib/r10k/settings.rb +35 -0
- data/lib/r10k/source/git.rb +18 -18
- data/lib/r10k/source/yaml.rb +1 -1
- data/lib/r10k/tarball.rb +183 -0
- data/lib/r10k/util/cacheable.rb +31 -0
- data/lib/r10k/util/downloader.rb +134 -0
- data/lib/r10k/util/purgeable.rb +2 -2
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +85 -57
- data/r10k.gemspec +2 -2
- data/r10k.yaml.example +28 -0
- data/spec/fixtures/tarball/tarball.tar.gz +0 -0
- data/spec/fixtures/unit/action/r10k_logging.yaml +12 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/apt/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/baz/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/buzz/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/canary/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/fizz/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/rpm/.gitkeep +1 -0
- data/spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/managed_symlink_file +1 -0
- data/spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/{managed_subdir_2 → subdir_allowlisted_2}/ignored_1 +0 -0
- data/spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/unmanaged_symlink_dir +1 -0
- data/spec/fixtures/unit/util/purgeable/managed_one/managed_symlink_dir +1 -0
- data/spec/fixtures/unit/util/purgeable/managed_one/unmanaged_symlink_file +1 -0
- data/spec/integration/git/rugged/cache_spec.rb +33 -0
- data/spec/integration/util/purageable_spec.rb +41 -0
- data/spec/shared-contexts/tarball.rb +32 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/unit/action/deploy/module_spec.rb +2 -2
- data/spec/unit/action/puppetfile/install_spec.rb +2 -2
- data/spec/unit/action/runner_spec.rb +52 -1
- data/spec/unit/environment/bare_spec.rb +13 -0
- data/spec/unit/environment/name_spec.rb +18 -0
- data/spec/unit/environment/plain_spec.rb +8 -0
- data/spec/unit/environment/tarball_spec.rb +45 -0
- data/spec/unit/environment/with_modules_spec.rb +1 -1
- data/spec/unit/git/cache_spec.rb +2 -15
- data/spec/unit/git/rugged/cache_spec.rb +19 -0
- data/spec/unit/module/forge_spec.rb +9 -7
- data/spec/unit/module/tarball_spec.rb +70 -0
- data/spec/unit/module_loader/puppetfile_spec.rb +21 -5
- data/spec/unit/module_spec.rb +14 -7
- data/spec/unit/tarball_spec.rb +57 -0
- data/spec/unit/util/cacheable_spec.rb +23 -0
- data/spec/unit/util/downloader_spec.rb +98 -0
- data/spec/unit/util/purgeable_spec.rb +22 -11
- metadata +45 -17
@@ -0,0 +1,98 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'r10k/util/downloader'
|
3
|
+
|
4
|
+
describe R10K::Util::Downloader do
|
5
|
+
|
6
|
+
subject(:downloader) do
|
7
|
+
subj = Object.new
|
8
|
+
subj.extend(R10K::Util::Downloader)
|
9
|
+
subj.singleton_class.class_eval { public :download }
|
10
|
+
subj.singleton_class.class_eval { public :http_get }
|
11
|
+
subj.singleton_class.class_eval { public :file_digest }
|
12
|
+
subj
|
13
|
+
end
|
14
|
+
|
15
|
+
let(:tmpdir) { Dir.mktmpdir }
|
16
|
+
after(:each) { FileUtils.remove_entry_secure(tmpdir) }
|
17
|
+
|
18
|
+
describe 'http_get' do
|
19
|
+
let(:src_url) { 'https://example.com' }
|
20
|
+
let(:dst_file) { File.join(tmpdir, 'test.out') }
|
21
|
+
let(:tarball_uri) { URI('http://tarball.example.com/tarball.tar.gz') }
|
22
|
+
let(:redirect_uri) { URI('http://redirect.example.com/redirect') }
|
23
|
+
let(:proxy_uri) { URI('http://user:password@proxy.example.com') }
|
24
|
+
|
25
|
+
it 'downloads a simple file' do
|
26
|
+
mock_session = instance_double('Net::HTTP', active?: true)
|
27
|
+
tarball_response = instance_double('Net::HTTPSuccess')
|
28
|
+
|
29
|
+
expect(Net::HTTP).to receive(:new).with(tarball_uri.host, any_args).and_return(mock_session)
|
30
|
+
expect(Net::HTTPSuccess).to receive(:===).with(tarball_response).and_return(true)
|
31
|
+
|
32
|
+
expect(mock_session).to receive(:request_get).and_yield(tarball_response)
|
33
|
+
expect(mock_session).to receive(:start).once
|
34
|
+
expect(mock_session).to receive(:finish).once
|
35
|
+
|
36
|
+
expect { |b| downloader.http_get(tarball_uri, &b) }.to yield_with_args(tarball_response)
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'follows redirects' do
|
40
|
+
mock_session_1 = instance_double('Net::HTTP', active?: false)
|
41
|
+
mock_session_2 = instance_double('Net::HTTP', active?: true)
|
42
|
+
redirect_response = instance_double('Net::HTTPRedirection')
|
43
|
+
tarball_response = instance_double('Net::HTTPSuccess')
|
44
|
+
|
45
|
+
expect(Net::HTTP).to receive(:new).with(redirect_uri.host, any_args).and_return(mock_session_1).once
|
46
|
+
expect(Net::HTTP).to receive(:new).with(tarball_uri.host, any_args).and_return(mock_session_2).once
|
47
|
+
expect(Net::HTTPRedirection).to receive(:===).with(redirect_response).and_return(true)
|
48
|
+
expect(Net::HTTPSuccess).to receive(:===).with(tarball_response).and_return(true)
|
49
|
+
allow(Net::HTTPRedirection).to receive(:===).and_call_original
|
50
|
+
|
51
|
+
expect(mock_session_1).to receive(:request_get).and_yield(redirect_response)
|
52
|
+
expect(mock_session_2).to receive(:request_get).and_yield(tarball_response)
|
53
|
+
|
54
|
+
# The redirect response should be queried for the redirect location
|
55
|
+
expect(redirect_response).to receive(:[]).with('location').and_return(tarball_uri.to_s)
|
56
|
+
|
57
|
+
# Both sessions should start and finish cleanly
|
58
|
+
expect(mock_session_1).to receive(:start).once
|
59
|
+
expect(mock_session_1).to receive(:finish).once
|
60
|
+
expect(mock_session_2).to receive(:start).once
|
61
|
+
expect(mock_session_2).to receive(:finish).once
|
62
|
+
|
63
|
+
expect { |b| downloader.http_get(redirect_uri, &b) }.to yield_with_args(tarball_response)
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'can use a proxy' do
|
67
|
+
mock_session = instance_double('Net::HTTP', active?: true)
|
68
|
+
|
69
|
+
expect(Net::HTTP).to receive(:new)
|
70
|
+
.with(tarball_uri.host,
|
71
|
+
tarball_uri.port,
|
72
|
+
proxy_uri.host,
|
73
|
+
proxy_uri.port,
|
74
|
+
proxy_uri.user,
|
75
|
+
proxy_uri.password,
|
76
|
+
any_args)
|
77
|
+
.and_return(mock_session)
|
78
|
+
|
79
|
+
expect(mock_session).to receive(:request_get).and_return(:not_yielded)
|
80
|
+
expect(mock_session).to receive(:start).once
|
81
|
+
expect(mock_session).to receive(:finish).once
|
82
|
+
|
83
|
+
downloader.http_get(tarball_uri, proxy: proxy_uri)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe 'checksums' do
|
88
|
+
let(:fixture_checksum) { '0bcea17aa0c5e868c18f0fa042feda770e47c1a4223229f82116ccb3ca33c6e3' }
|
89
|
+
let(:fixture_tarball) do
|
90
|
+
File.expand_path('spec/fixtures/integration/git/puppet-boolean-bare.tar', PROJECT_ROOT)
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'checksums files' do
|
94
|
+
expect(downloader.file_digest(fixture_tarball)).to eql(fixture_checksum)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
@@ -15,8 +15,10 @@ RSpec.describe R10K::Util::Purgeable do
|
|
15
15
|
'spec/fixtures/unit/util/purgeable/managed_one/expected_1',
|
16
16
|
'spec/fixtures/unit/util/purgeable/managed_one/new_1',
|
17
17
|
'spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1',
|
18
|
+
'spec/fixtures/unit/util/purgeable/managed_one/managed_symlink_dir',
|
18
19
|
'spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/subdir_expected_1',
|
19
20
|
'spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/subdir_new_1',
|
21
|
+
'spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/managed_symlink_file',
|
20
22
|
'spec/fixtures/unit/util/purgeable/managed_two/expected_2',
|
21
23
|
'spec/fixtures/unit/util/purgeable/managed_two/new_2',
|
22
24
|
'spec/fixtures/unit/util/purgeable/managed_two/.hidden',
|
@@ -30,7 +32,8 @@ RSpec.describe R10K::Util::Purgeable do
|
|
30
32
|
|
31
33
|
describe '#current_contents' do
|
32
34
|
it 'collects direct contents of all managed directories' do
|
33
|
-
expect(subject.current_contents(recurse)).to contain_exactly(/\/expected_1/, /\/expected_2/, /\/unmanaged_1/, /\/unmanaged_2/,
|
35
|
+
expect(subject.current_contents(recurse)).to contain_exactly(/\/expected_1/, /\/expected_2/, /\/unmanaged_1/, /\/unmanaged_2/,
|
36
|
+
/\/managed_subdir_1/, /\/managed_symlink_dir/, /\/unmanaged_symlink_file/)
|
34
37
|
end
|
35
38
|
end
|
36
39
|
|
@@ -46,7 +49,7 @@ RSpec.describe R10K::Util::Purgeable do
|
|
46
49
|
let(:whitelist) { [] }
|
47
50
|
|
48
51
|
it 'collects current_contents that should not exist' do
|
49
|
-
expect(subject.stale_contents(recurse, exclusions, whitelist)).to contain_exactly(/\/unmanaged_1/, /\/unmanaged_2/)
|
52
|
+
expect(subject.stale_contents(recurse, exclusions, whitelist)).to contain_exactly(/\/unmanaged_1/, /\/unmanaged_2/, /\/unmanaged_symlink_file/)
|
50
53
|
end
|
51
54
|
end
|
52
55
|
|
@@ -56,7 +59,7 @@ RSpec.describe R10K::Util::Purgeable do
|
|
56
59
|
|
57
60
|
it 'collects current_contents that should not exist except whitelisted items' do
|
58
61
|
expect(subject.logger).to receive(:debug).with(/unmanaged_1.*whitelist match/i)
|
59
|
-
expect(subject.stale_contents(recurse, exclusions, whitelist)).to contain_exactly(/\/unmanaged_2/)
|
62
|
+
expect(subject.stale_contents(recurse, exclusions, whitelist)).to contain_exactly(/\/unmanaged_2/, /\/unmanaged_symlink_file/)
|
60
63
|
end
|
61
64
|
end
|
62
65
|
|
@@ -66,7 +69,7 @@ RSpec.describe R10K::Util::Purgeable do
|
|
66
69
|
|
67
70
|
it 'collects current_contents that should not exist except excluded items' do
|
68
71
|
expect(subject.logger).to receive(:debug2).with(/unmanaged_2.*internal exclusion match/i)
|
69
|
-
expect(subject.stale_contents(recurse, exclusions, whitelist)).to contain_exactly(/\/unmanaged_1/)
|
72
|
+
expect(subject.stale_contents(recurse, exclusions, whitelist)).to contain_exactly(/\/unmanaged_1/, /\/unmanaged_symlink_file/)
|
70
73
|
end
|
71
74
|
end
|
72
75
|
end
|
@@ -102,9 +105,13 @@ RSpec.describe R10K::Util::Purgeable do
|
|
102
105
|
expect(subject.current_contents(recurse)).
|
103
106
|
to contain_exactly(/\/expected_1/, /\/expected_2/,
|
104
107
|
/\/unmanaged_1/, /\/unmanaged_2/,
|
108
|
+
/\/managed_symlink_dir/,
|
109
|
+
/\/unmanaged_symlink_file/,
|
105
110
|
/\/managed_subdir_1/,
|
106
111
|
/\/subdir_expected_1/, /\/subdir_unmanaged_1/,
|
107
|
-
/\/
|
112
|
+
/\/managed_symlink_file/,
|
113
|
+
/\/unmanaged_symlink_dir/,
|
114
|
+
/\/subdir_allowlisted_2/, /\/ignored_1/,
|
108
115
|
/\/\.hidden/)
|
109
116
|
end
|
110
117
|
end
|
@@ -122,7 +129,8 @@ RSpec.describe R10K::Util::Purgeable do
|
|
122
129
|
|
123
130
|
it 'collects current_contents that should not exist recursively' do
|
124
131
|
expect(subject.stale_contents(recurse, exclusions, whitelist)).
|
125
|
-
to contain_exactly(/\/unmanaged_1/, /\/unmanaged_2/, /\/
|
132
|
+
to contain_exactly(/\/unmanaged_1/, /\/unmanaged_2/, /\/unmanaged_symlink_file/, /\/subdir_unmanaged_1/,
|
133
|
+
/\/ignored_1/, /\/subdir_allowlisted_2/, /\/unmanaged_symlink_dir/)
|
126
134
|
end
|
127
135
|
end
|
128
136
|
|
@@ -134,7 +142,8 @@ RSpec.describe R10K::Util::Purgeable do
|
|
134
142
|
expect(subject.logger).to receive(:debug).with(/unmanaged_1.*whitelist match/i)
|
135
143
|
|
136
144
|
expect(subject.stale_contents(recurse, exclusions, whitelist)).
|
137
|
-
to contain_exactly(/\/unmanaged_2/, /\/subdir_unmanaged_1/, /\/ignored_1
|
145
|
+
to contain_exactly(/\/unmanaged_2/, /\/subdir_unmanaged_1/, /\/unmanaged_symlink_file/, /\/ignored_1/,
|
146
|
+
/\/subdir_allowlisted_2/, /\/unmanaged_symlink_dir/)
|
138
147
|
end
|
139
148
|
|
140
149
|
it 'does not collect contents that match recursive globbed whitelist items as intermediate values' do
|
@@ -142,7 +151,7 @@ RSpec.describe R10K::Util::Purgeable do
|
|
142
151
|
expect(subject.logger).not_to receive(:debug).with(/ignored_1/)
|
143
152
|
|
144
153
|
expect(subject.stale_contents(recurse, exclusions, recursive_whitelist)).
|
145
|
-
to contain_exactly(/\/unmanaged_2/, /\/managed_one\/unmanaged_1/)
|
154
|
+
to contain_exactly(/\/unmanaged_2/, /\/managed_one\/unmanaged_1/, /\/managed_one\/unmanaged_symlink_file/)
|
146
155
|
end
|
147
156
|
end
|
148
157
|
|
@@ -154,7 +163,8 @@ RSpec.describe R10K::Util::Purgeable do
|
|
154
163
|
expect(subject.logger).to receive(:debug2).with(/unmanaged_2.*internal exclusion match/i)
|
155
164
|
|
156
165
|
expect(subject.stale_contents(recurse, exclusions, whitelist)).
|
157
|
-
to contain_exactly(/\/unmanaged_1/, /\/subdir_unmanaged_1/, /\/ignored_1
|
166
|
+
to contain_exactly(/\/unmanaged_1/, /\/unmanaged_symlink_file/, /\/subdir_unmanaged_1/, /\/ignored_1/,
|
167
|
+
/\/subdir_allowlisted_2/, /\/unmanaged_symlink_dir/)
|
158
168
|
end
|
159
169
|
|
160
170
|
it 'does not collect contents that match recursive globbed exclusion items as intermediate values' do
|
@@ -162,7 +172,7 @@ RSpec.describe R10K::Util::Purgeable do
|
|
162
172
|
expect(subject.logger).not_to receive(:debug).with(/ignored_1/)
|
163
173
|
|
164
174
|
expect(subject.stale_contents(recurse, recursive_exclusions, whitelist)).
|
165
|
-
to contain_exactly(/\/unmanaged_2/, /\/managed_one\/unmanaged_1/)
|
175
|
+
to contain_exactly(/\/unmanaged_2/, /\/unmanaged_symlink_file/, /\/managed_one\/unmanaged_1/)
|
166
176
|
end
|
167
177
|
end
|
168
178
|
end
|
@@ -199,6 +209,7 @@ RSpec.describe R10K::Util::Purgeable do
|
|
199
209
|
it 'does not purge items matching glob at root level' do
|
200
210
|
allow(FileUtils).to receive(:rm_r)
|
201
211
|
expect(FileUtils).to_not receive(:rm_r).with(/\/unmanaged_[12]/, anything)
|
212
|
+
expect(FileUtils).to_not receive(:rm_r).with(/\/unmanaged_symlink_file/, anything)
|
202
213
|
expect(subject.logger).to receive(:debug).with(/whitelist match/i).at_least(:once)
|
203
214
|
|
204
215
|
subject.purge!(purge_opts)
|
@@ -209,7 +220,7 @@ RSpec.describe R10K::Util::Purgeable do
|
|
209
220
|
context "recursive whitelist glob" do
|
210
221
|
let(:whitelist) do
|
211
222
|
managed_directories.flat_map do |dir|
|
212
|
-
[File.join(dir, "**", "*unmanaged*"), File.join(dir, "**", "
|
223
|
+
[File.join(dir, "**", "*unmanaged*"), File.join(dir, "**", "subdir_allowlisted_2")]
|
213
224
|
end
|
214
225
|
end
|
215
226
|
let(:purge_opts) { { recurse: true, whitelist: whitelist } }
|
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.
|
4
|
+
version: 3.14.2
|
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: 2022-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|
@@ -142,6 +142,20 @@ dependencies:
|
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: 2.2.3
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: minitar
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0.9'
|
152
|
+
type: :runtime
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0.9'
|
145
159
|
- !ruby/object:Gem::Dependency
|
146
160
|
name: rspec
|
147
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,20 +198,6 @@ dependencies:
|
|
184
198
|
- - "~>"
|
185
199
|
- !ruby/object:Gem::Version
|
186
200
|
version: 0.9.11
|
187
|
-
- !ruby/object:Gem::Dependency
|
188
|
-
name: minitar
|
189
|
-
requirement: !ruby/object:Gem::Requirement
|
190
|
-
requirements:
|
191
|
-
- - "~>"
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
version: 0.9.0
|
194
|
-
type: :development
|
195
|
-
prerelease: false
|
196
|
-
version_requirements: !ruby/object:Gem::Requirement
|
197
|
-
requirements:
|
198
|
-
- - "~>"
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version: 0.9.0
|
201
201
|
description: |2
|
202
202
|
R10K provides a general purpose toolset for deploying Puppet environments and modules.
|
203
203
|
It implements the Puppetfile format and provides a native implementation of Puppet
|
@@ -370,7 +370,9 @@ files:
|
|
370
370
|
- lib/r10k/environment/base.rb
|
371
371
|
- lib/r10k/environment/git.rb
|
372
372
|
- lib/r10k/environment/name.rb
|
373
|
+
- lib/r10k/environment/plain.rb
|
373
374
|
- lib/r10k/environment/svn.rb
|
375
|
+
- lib/r10k/environment/tarball.rb
|
374
376
|
- lib/r10k/environment/with_modules.rb
|
375
377
|
- lib/r10k/errors.rb
|
376
378
|
- lib/r10k/errors/formatting.rb
|
@@ -409,6 +411,7 @@ files:
|
|
409
411
|
- lib/r10k/module/local.rb
|
410
412
|
- lib/r10k/module/metadata_file.rb
|
411
413
|
- lib/r10k/module/svn.rb
|
414
|
+
- lib/r10k/module/tarball.rb
|
412
415
|
- lib/r10k/module_loader/puppetfile.rb
|
413
416
|
- lib/r10k/module_loader/puppetfile/dsl.rb
|
414
417
|
- lib/r10k/puppetfile.rb
|
@@ -433,10 +436,13 @@ files:
|
|
433
436
|
- lib/r10k/svn.rb
|
434
437
|
- lib/r10k/svn/remote.rb
|
435
438
|
- lib/r10k/svn/working_dir.rb
|
439
|
+
- lib/r10k/tarball.rb
|
436
440
|
- lib/r10k/util/attempt.rb
|
437
441
|
- lib/r10k/util/basedir.rb
|
442
|
+
- lib/r10k/util/cacheable.rb
|
438
443
|
- lib/r10k/util/cleaner.rb
|
439
444
|
- lib/r10k/util/commands.rb
|
445
|
+
- lib/r10k/util/downloader.rb
|
440
446
|
- lib/r10k/util/exec_env.rb
|
441
447
|
- lib/r10k/util/license.rb
|
442
448
|
- lib/r10k/util/platform.rb
|
@@ -461,12 +467,14 @@ files:
|
|
461
467
|
- spec/fixtures/module/forge/bad_module/metadata.json
|
462
468
|
- spec/fixtures/module/forge/eight_hundred/Modulefile
|
463
469
|
- spec/fixtures/module/forge/eight_hundred/metadata.json
|
470
|
+
- spec/fixtures/tarball/tarball.tar.gz
|
464
471
|
- spec/fixtures/unit/action/r10k.yaml
|
465
472
|
- spec/fixtures/unit/action/r10k_cachedir.yaml
|
466
473
|
- spec/fixtures/unit/action/r10k_creds.yaml
|
467
474
|
- spec/fixtures/unit/action/r10k_forge_auth.yaml
|
468
475
|
- spec/fixtures/unit/action/r10k_forge_auth_no_url.yaml
|
469
476
|
- spec/fixtures/unit/action/r10k_generate_types.yaml
|
477
|
+
- spec/fixtures/unit/action/r10k_logging.yaml
|
470
478
|
- spec/fixtures/unit/action/r10k_puppet_path.yaml
|
471
479
|
- spec/fixtures/unit/puppetfile/argument-error/Puppetfile
|
472
480
|
- spec/fixtures/unit/puppetfile/default-branch-override/Puppetfile
|
@@ -479,22 +487,34 @@ files:
|
|
479
487
|
- spec/fixtures/unit/puppetfile/valid-forge-without-version/Puppetfile
|
480
488
|
- spec/fixtures/unit/puppetfile/various-modules/Puppetfile
|
481
489
|
- spec/fixtures/unit/puppetfile/various-modules/Puppetfile.new
|
490
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/apt/.gitkeep
|
491
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/baz/.gitkeep
|
492
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/buzz/.gitkeep
|
493
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/canary/.gitkeep
|
494
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/fizz/.gitkeep
|
495
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/rpm/.gitkeep
|
482
496
|
- spec/fixtures/unit/util/purgeable/managed_one/expected_1
|
483
|
-
- spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/
|
497
|
+
- spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/managed_symlink_file
|
498
|
+
- spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/subdir_allowlisted_2/ignored_1
|
484
499
|
- spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/subdir_expected_1
|
485
500
|
- spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/subdir_unmanaged_1
|
501
|
+
- spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/unmanaged_symlink_dir
|
502
|
+
- spec/fixtures/unit/util/purgeable/managed_one/managed_symlink_dir
|
486
503
|
- spec/fixtures/unit/util/purgeable/managed_one/unmanaged_1
|
504
|
+
- spec/fixtures/unit/util/purgeable/managed_one/unmanaged_symlink_file
|
487
505
|
- spec/fixtures/unit/util/purgeable/managed_two/.hidden/unmanaged_3
|
488
506
|
- spec/fixtures/unit/util/purgeable/managed_two/expected_2
|
489
507
|
- spec/fixtures/unit/util/purgeable/managed_two/unmanaged_2
|
490
508
|
- spec/fixtures/unit/util/subprocess/runner/no-execute.sh
|
491
509
|
- spec/integration/git/rugged/bare_repository_spec.rb
|
510
|
+
- spec/integration/git/rugged/cache_spec.rb
|
492
511
|
- spec/integration/git/rugged/thin_repository_spec.rb
|
493
512
|
- spec/integration/git/rugged/working_repository_spec.rb
|
494
513
|
- spec/integration/git/shellgit/bare_repository_spec.rb
|
495
514
|
- spec/integration/git/shellgit/thin_repository_spec.rb
|
496
515
|
- spec/integration/git/shellgit/working_repository_spec.rb
|
497
516
|
- spec/integration/git/stateful_repository_spec.rb
|
517
|
+
- spec/integration/util/purageable_spec.rb
|
498
518
|
- spec/matchers/exit_with.rb
|
499
519
|
- spec/matchers/match_realpath.rb
|
500
520
|
- spec/r10k-mocks.rb
|
@@ -502,6 +522,7 @@ files:
|
|
502
522
|
- spec/r10k-mocks/mock_env.rb
|
503
523
|
- spec/r10k-mocks/mock_source.rb
|
504
524
|
- spec/shared-contexts/git-fixtures.rb
|
525
|
+
- spec/shared-contexts/tarball.rb
|
505
526
|
- spec/shared-examples/deploy-actions.rb
|
506
527
|
- spec/shared-examples/git-repository.rb
|
507
528
|
- spec/shared-examples/git/bare_repository.rb
|
@@ -525,10 +546,13 @@ files:
|
|
525
546
|
- spec/unit/cli_spec.rb
|
526
547
|
- spec/unit/deployment/config_spec.rb
|
527
548
|
- spec/unit/deployment_spec.rb
|
549
|
+
- spec/unit/environment/bare_spec.rb
|
528
550
|
- spec/unit/environment/base_spec.rb
|
529
551
|
- spec/unit/environment/git_spec.rb
|
530
552
|
- spec/unit/environment/name_spec.rb
|
553
|
+
- spec/unit/environment/plain_spec.rb
|
531
554
|
- spec/unit/environment/svn_spec.rb
|
555
|
+
- spec/unit/environment/tarball_spec.rb
|
532
556
|
- spec/unit/environment/with_modules_spec.rb
|
533
557
|
- spec/unit/errors/formatting_spec.rb
|
534
558
|
- spec/unit/feature_spec.rb
|
@@ -550,6 +574,7 @@ files:
|
|
550
574
|
- spec/unit/module/git_spec.rb
|
551
575
|
- spec/unit/module/metadata_file_spec.rb
|
552
576
|
- spec/unit/module/svn_spec.rb
|
577
|
+
- spec/unit/module/tarball_spec.rb
|
553
578
|
- spec/unit/module_loader/puppetfile_spec.rb
|
554
579
|
- spec/unit/module_spec.rb
|
555
580
|
- spec/unit/puppetfile_spec.rb
|
@@ -571,8 +596,11 @@ files:
|
|
571
596
|
- spec/unit/source_spec.rb
|
572
597
|
- spec/unit/svn/remote_spec.rb
|
573
598
|
- spec/unit/svn/working_dir_spec.rb
|
599
|
+
- spec/unit/tarball_spec.rb
|
574
600
|
- spec/unit/util/attempt_spec.rb
|
601
|
+
- spec/unit/util/cacheable_spec.rb
|
575
602
|
- spec/unit/util/commands_spec.rb
|
603
|
+
- spec/unit/util/downloader_spec.rb
|
576
604
|
- spec/unit/util/exec_env_spec.rb
|
577
605
|
- spec/unit/util/purgeable_spec.rb
|
578
606
|
- spec/unit/util/setopts_spec.rb
|