vanagon 0.25.0 → 0.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/git/basic_submodules.rb +1 -1
- data/lib/vanagon/component/source/git.rb +1 -1
- data/lib/vanagon/component.rb +2 -2
- data/lib/vanagon/platform/defaults/osx-12-x86_64.rb +20 -0
- data/lib/vanagon/platform/defaults/ubuntu-20.04-amd64.rb +6 -0
- data/spec/lib/vanagon/component/source/git_spec.rb +1 -1
- data/spec/lib/vanagon/component/source_spec.rb +0 -8
- data/spec/lib/vanagon/component_spec.rb +3 -2
- data/spec/lib/vanagon/engine/ec2_spec.rb +4 -2
- metadata +36 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 710560a9b3a7ca3a3161c658eb4b6422870bb226bbff4396f9749546488bccb0
|
4
|
+
data.tar.gz: 5bcc31eccdad2d206662b7dc99624cb7b10ff79186730a947696deb3af2957ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7015b26ff75b4589b79bdcb88401366e8e6e58f9e8dfc7cef50a519b6f8f5f2e855936874509785db1923d7b227531bd767f958ad229dcd07e209564ba59a122
|
7
|
+
data.tar.gz: 93bfbc527dc52f69f217902e53e71738928f196b08340ad422f5fc8d378be9965e61b7ee6b673d8ba1c66e54a0213f6572bff67003d56ab43405933b9b55a1aa
|
data/lib/git/basic_submodules.rb
CHANGED
@@ -36,7 +36,7 @@ module BasicSubmodules
|
|
36
36
|
# @option options [Boolean] :recursive recurse into nested submodules
|
37
37
|
# @return options [String] any output produced by `git` when submodules are initialized
|
38
38
|
def update_submodules(**options)
|
39
|
-
self.lib.update_submodules(options)
|
39
|
+
self.lib.update_submodules(**options)
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -50,7 +50,7 @@ class Vanagon
|
|
50
50
|
|
51
51
|
def valid_remote?(url, timeout = 0)
|
52
52
|
Timeout.timeout(timeout) do
|
53
|
-
Vanagon::Utilities.local_command("git ls-remote #{url} > /dev/null 2>&1")
|
53
|
+
Vanagon::Utilities.local_command("git ls-remote --heads #{url} > /dev/null 2>&1")
|
54
54
|
return false unless $?.exitstatus.zero?
|
55
55
|
return true
|
56
56
|
end
|
data/lib/vanagon/component.rb
CHANGED
@@ -258,7 +258,7 @@ class Vanagon
|
|
258
258
|
mirrors.to_a.shuffle.each do |mirror|
|
259
259
|
begin
|
260
260
|
VanagonLogger.info %(Attempting to fetch from mirror URL "#{mirror}")
|
261
|
-
@source = Vanagon::Component::Source.source(mirror, options)
|
261
|
+
@source = Vanagon::Component::Source.source(mirror, **options)
|
262
262
|
return true if source.fetch
|
263
263
|
rescue SocketError
|
264
264
|
# SocketError means that there was no DNS/name resolution
|
@@ -281,7 +281,7 @@ class Vanagon
|
|
281
281
|
# or False otherwise
|
282
282
|
def fetch_url(options)
|
283
283
|
VanagonLogger.info %(Attempting to fetch from canonical URL "#{url}")
|
284
|
-
@source = Vanagon::Component::Source.source(url, options)
|
284
|
+
@source = Vanagon::Component::Source.source(url, **options)
|
285
285
|
# Explicitly coerce the return value of #source.fetch,
|
286
286
|
# because each subclass of Vanagon::Component::Source returns
|
287
287
|
# an inconsistent value if #fetch is successful.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
platform "osx-12-x86_64" do |plat|
|
2
|
+
plat.servicetype "launchd"
|
3
|
+
plat.servicedir "/Library/LaunchDaemons"
|
4
|
+
plat.codename "monterey"
|
5
|
+
plat.provision_with "export HOMEBREW_NO_EMOJI=true"
|
6
|
+
plat.provision_with "export HOMEBREW_VERBOSE=true"
|
7
|
+
plat.provision_with "sudo dscl . -create /Users/test"
|
8
|
+
plat.provision_with "sudo dscl . -create /Users/test UserShell /bin/bash"
|
9
|
+
plat.provision_with "sudo dscl . -create /Users/test UniqueID 1001"
|
10
|
+
plat.provision_with "sudo dscl . -create /Users/test PrimaryGroupID 1000"
|
11
|
+
plat.provision_with "sudo dscl . -create /Users/test NFSHomeDirectory /Users/test"
|
12
|
+
plat.provision_with "sudo dscl . -passwd /Users/test password"
|
13
|
+
plat.provision_with "sudo dscl . -merge /Groups/admin GroupMembership test"
|
14
|
+
plat.provision_with "echo 'test ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/username"
|
15
|
+
plat.provision_with "mkdir -p /etc/homebrew"
|
16
|
+
plat.provision_with "cd /etc/homebrew"
|
17
|
+
plat.provision_with %Q(su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"')
|
18
|
+
plat.provision_with "sudo chown -R test:admin /Users/test/"
|
19
|
+
plat.vmpooler_template "macos-12-x86_64"
|
20
|
+
end
|
@@ -4,8 +4,14 @@ platform "ubuntu-20.04-amd64" do |plat|
|
|
4
4
|
plat.servicetype "systemd"
|
5
5
|
plat.codename "focal"
|
6
6
|
|
7
|
+
# Temporary fix to add focal-updates.list repo file because it is missing from the vmpooler image
|
8
|
+
plat.provision_with "echo 'deb https://artifactory.delivery.puppetlabs.net/artifactory/ubuntu__remote focal-updates main restricted universe multiverse' > /etc/apt/sources.list.d/focal-updates.list;
|
9
|
+
echo 'deb-src https://artifactory.delivery.puppetlabs.net/artifactory/ubuntu__remote focal-updates main restricted universe multiverse' >> /etc/apt/sources.list.d/focal-updates.list"
|
10
|
+
|
7
11
|
packages = %w(build-essential devscripts make quilt pkg-config debhelper rsync fakeroot cmake)
|
12
|
+
|
8
13
|
plat.provision_with "export DEBIAN_FRONTEND=noninteractive; apt-get update -qq; apt-get install -qy --no-install-recommends #{packages.join(' ')}"
|
14
|
+
plat.provision_with "curl https://apt.puppet.com/DEB-GPG-KEY-puppet-20250406 | apt-key add -"
|
9
15
|
plat.install_build_dependencies_with "DEBIAN_FRONTEND=noninteractive; apt-get install -qy --no-install-recommends "
|
10
16
|
plat.vmpooler_template "ubuntu-2004-x86_64"
|
11
17
|
end
|
@@ -5,7 +5,7 @@ describe "Vanagon::Component::Source::Git" do
|
|
5
5
|
before :all do
|
6
6
|
@klass = Vanagon::Component::Source::Git
|
7
7
|
# This repo will not be cloned over the network
|
8
|
-
@url = '
|
8
|
+
@url = 'https://github.com/puppetlabs/facter.git'
|
9
9
|
# This path will not be created on disk
|
10
10
|
@local_url = "file://#{Dir.tmpdir}/puppet-agent"
|
11
11
|
@ref_tag = 'refs/tags/2.2.0'
|
@@ -8,7 +8,6 @@ describe "Vanagon::Component::Source" do
|
|
8
8
|
let(:unrecognized_scheme) { "abcd" }
|
9
9
|
let(:invalid_scheme) { "abcd|things" }
|
10
10
|
|
11
|
-
let(:public_git) { "git://github.com/abcd/things" }
|
12
11
|
let(:private_git) { "git@github.com:abcd/things" }
|
13
12
|
let(:http_git) { "http://github.com/abcd/things" }
|
14
13
|
let(:https_git) { "https://github.com/abcd/things" }
|
@@ -53,12 +52,6 @@ describe "Vanagon::Component::Source" do
|
|
53
52
|
.to eq Vanagon::Component::Source::Git
|
54
53
|
end
|
55
54
|
|
56
|
-
it "returns a Git object for git:// repositories" do
|
57
|
-
component_source = klass.source(public_git, ref: ref, workdir: workdir)
|
58
|
-
expect(component_source.url.to_s).to eq public_git
|
59
|
-
expect(component_source.class).to eq Vanagon::Component::Source::Git
|
60
|
-
end
|
61
|
-
|
62
55
|
it "returns a Git object for http:// repositories" do
|
63
56
|
expect(klass.source(http_git, ref: ref, workdir: workdir).class)
|
64
57
|
.to eq Vanagon::Component::Source::Git
|
@@ -74,7 +67,6 @@ describe "Vanagon::Component::Source" do
|
|
74
67
|
expect(component_source.url.to_s).to eq 'http://github.com/abcd/things'
|
75
68
|
expect(component_source.class).to eq Vanagon::Component::Source::Git
|
76
69
|
end
|
77
|
-
|
78
70
|
end
|
79
71
|
|
80
72
|
context "takes a HTTP/HTTPS file" do
|
@@ -258,12 +258,13 @@ describe "Vanagon::Component" do
|
|
258
258
|
describe '#force_version' do
|
259
259
|
let(:source) {
|
260
260
|
allow(File).to receive(:realpath).and_return('/this/is/a/test')
|
261
|
-
|
261
|
+
WebMock.allow_net_connect!
|
262
|
+
Vanagon::Component::Source::Git.new('https://github.com/puppetlabs/facter', workdir: '/this/is/a/test')
|
262
263
|
}
|
263
264
|
|
264
265
|
let(:component) {
|
265
266
|
Vanagon::Component.new('force-version-test', {}, {}).tap do |comp|
|
266
|
-
comp.url = '
|
267
|
+
comp.url = 'https://github.com/puppetlabs/facter'
|
267
268
|
comp.source = source
|
268
269
|
end
|
269
270
|
}
|
@@ -1,5 +1,4 @@
|
|
1
|
-
begin
|
2
|
-
require 'aws-sdk'
|
1
|
+
begin require 'aws-sdk'
|
3
2
|
rescue LoadError
|
4
3
|
$stderr.puts "Unable to load AWS SDK; skipping optional EC2 engine spec tests"
|
5
4
|
end
|
@@ -28,7 +27,10 @@ if defined? ::Aws
|
|
28
27
|
|
29
28
|
it 'returns "ec2" name' do
|
30
29
|
stub_request(:get, "http://169.254.169.254/latest/meta-data/iam/security-credentials/").
|
30
|
+
to_return(status: 200, body: "", headers: {})
|
31
|
+
stub_request(:put, "http://169.254.169.254/latest/api/token").
|
31
32
|
to_return(status: 200, body: "", headers: {})
|
33
|
+
|
32
34
|
expect(Vanagon::Engine::Ec2.new(platform_ec2).name).to eq('ec2')
|
33
35
|
end
|
34
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vanagon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.26.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docopt
|
@@ -171,6 +171,7 @@ files:
|
|
171
171
|
- lib/vanagon/platform/defaults/fedora-34-x86_64.rb
|
172
172
|
- lib/vanagon/platform/defaults/osx-10.15-x86_64.rb
|
173
173
|
- lib/vanagon/platform/defaults/osx-11-x86_64.rb
|
174
|
+
- lib/vanagon/platform/defaults/osx-12-x86_64.rb
|
174
175
|
- lib/vanagon/platform/defaults/redhatfips-7-x86_64.rb
|
175
176
|
- lib/vanagon/platform/defaults/redhatfips-8-x86_64.rb
|
176
177
|
- lib/vanagon/platform/defaults/sles-12-x86_64.rb
|
@@ -312,9 +313,12 @@ require_paths:
|
|
312
313
|
- lib
|
313
314
|
required_ruby_version: !ruby/object:Gem::Requirement
|
314
315
|
requirements:
|
315
|
-
- - "
|
316
|
+
- - ">="
|
316
317
|
- !ruby/object:Gem::Version
|
317
318
|
version: '2.3'
|
319
|
+
- - "<"
|
320
|
+
- !ruby/object:Gem::Version
|
321
|
+
version: '4'
|
318
322
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
319
323
|
requirements:
|
320
324
|
- - ">="
|
@@ -327,41 +331,41 @@ specification_version: 3
|
|
327
331
|
summary: All of your packages will fit into this van with this one simple trick.
|
328
332
|
test_files:
|
329
333
|
- spec/lib/makefile_spec.rb
|
330
|
-
- spec/lib/vanagon/
|
331
|
-
- spec/lib/vanagon/
|
332
|
-
- spec/lib/vanagon/
|
333
|
-
- spec/lib/vanagon/
|
334
|
-
- spec/lib/vanagon/
|
334
|
+
- spec/lib/vanagon/common/user_spec.rb
|
335
|
+
- spec/lib/vanagon/common/pathname_spec.rb
|
336
|
+
- spec/lib/vanagon/project/dsl_spec.rb
|
337
|
+
- spec/lib/vanagon/platform_spec.rb
|
338
|
+
- spec/lib/vanagon/driver_spec.rb
|
339
|
+
- spec/lib/vanagon/cli_spec.rb
|
335
340
|
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
336
341
|
- spec/lib/vanagon/extensions/string_spec.rb
|
337
|
-
- spec/lib/vanagon/
|
342
|
+
- spec/lib/vanagon/extensions/set/json_spec.rb
|
343
|
+
- spec/lib/vanagon/component_spec.rb
|
344
|
+
- spec/lib/vanagon/utilities_spec.rb
|
345
|
+
- spec/lib/vanagon/platform/windows_spec.rb
|
346
|
+
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
347
|
+
- spec/lib/vanagon/platform/dsl_spec.rb
|
348
|
+
- spec/lib/vanagon/platform/deb_spec.rb
|
349
|
+
- spec/lib/vanagon/platform/osx_spec.rb
|
350
|
+
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
351
|
+
- spec/lib/vanagon/platform/solaris_10_spec.rb
|
352
|
+
- spec/lib/vanagon/platform/rpm_spec.rb
|
353
|
+
- spec/lib/vanagon/project_spec.rb
|
354
|
+
- spec/lib/vanagon/environment_spec.rb
|
355
|
+
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
356
|
+
- spec/lib/vanagon/utilities/extra_files_signer_spec.rb
|
357
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
358
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
338
359
|
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
339
|
-
- spec/lib/vanagon/component/source/http_spec.rb
|
340
360
|
- spec/lib/vanagon/component/source/git_spec.rb
|
361
|
+
- spec/lib/vanagon/component/source/http_spec.rb
|
362
|
+
- spec/lib/vanagon/component/source/local_spec.rb
|
341
363
|
- spec/lib/vanagon/component/source_spec.rb
|
342
|
-
- spec/lib/vanagon/
|
343
|
-
- spec/lib/vanagon/
|
344
|
-
- spec/lib/vanagon/driver_spec.rb
|
345
|
-
- spec/lib/vanagon/utilities_spec.rb
|
346
|
-
- spec/lib/vanagon/cli_spec.rb
|
347
|
-
- spec/lib/vanagon/common/pathname_spec.rb
|
348
|
-
- spec/lib/vanagon/common/user_spec.rb
|
364
|
+
- spec/lib/vanagon/engine/hardware_spec.rb
|
365
|
+
- spec/lib/vanagon/engine/ec2_spec.rb
|
349
366
|
- spec/lib/vanagon/engine/local_spec.rb
|
350
|
-
- spec/lib/vanagon/engine/base_spec.rb
|
351
367
|
- spec/lib/vanagon/engine/docker_spec.rb
|
352
|
-
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
353
|
-
- spec/lib/vanagon/engine/hardware_spec.rb
|
354
368
|
- spec/lib/vanagon/engine/pooler_spec.rb
|
355
|
-
- spec/lib/vanagon/engine/
|
356
|
-
- spec/lib/vanagon/
|
357
|
-
- spec/lib/vanagon/environment_spec.rb
|
358
|
-
- spec/lib/vanagon/platform/solaris_10_spec.rb
|
359
|
-
- spec/lib/vanagon/platform/windows_spec.rb
|
360
|
-
- spec/lib/vanagon/platform/rpm_spec.rb
|
361
|
-
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
362
|
-
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
363
|
-
- spec/lib/vanagon/platform/deb_spec.rb
|
364
|
-
- spec/lib/vanagon/platform/dsl_spec.rb
|
365
|
-
- spec/lib/vanagon/platform/osx_spec.rb
|
366
|
-
- spec/lib/vanagon/project/dsl_spec.rb
|
369
|
+
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
370
|
+
- spec/lib/vanagon/engine/base_spec.rb
|
367
371
|
- spec/lib/git/rev_list_spec.rb
|