librarian-puppet 1.0.0 → 1.0.1
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 -13
- data/README.md +1 -1
- data/lib/librarian/puppet.rb +24 -15
- data/lib/librarian/puppet/source.rb +0 -1
- data/lib/librarian/puppet/source/forge.rb +21 -3
- data/lib/librarian/puppet/source/local.rb +2 -0
- data/lib/librarian/puppet/version.rb +1 -1
- metadata +24 -22
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZmExNmU0MmZmYmMxMTkyNzY2ZTRiNjA1ODNkMWY4NGE3NWVhNjk2OQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1984f0b83258ba54c8f1d62a2d6804dd29d75065
|
4
|
+
data.tar.gz: e64114a525b0f92e74d4d09277b9f0dd5f76e0c6
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
MTMxZDIzMWNlMjUxNjM2ZDRiNWM0MTRjZjljMDViZjZhMDMyNTI0MGE4YTYy
|
11
|
-
MTNkZjBkOWFjMzA2ZjBmZmY0Yjk0OGZlY2RkMjk5OTcwY2QzYjE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MTI3ZGVhM2ZhYjg2ZjYyMDI4OTM1OTQ1ODc5NjBhNDYzODhjNjRiYzBhNjU3
|
14
|
-
NGNlOTQ5N2RiYmYzZGJiNGRmMmY5MTg5YTEyODVjMTAzMTFmZTMyY2E1ZTNh
|
15
|
-
YjRjYzVlOTZhMGUxMzhmMmQwOGNhMWJlYTVjM2ZiNGM5MmVmMjI=
|
6
|
+
metadata.gz: c5a3794a4677ae67769338e469d2eb9c646b1497cdf4b6ef6ad81a11e525350e0e397f7bf8d9a81202e33aa24c311aa6e81f3d400e1eb1729725287aceafd289
|
7
|
+
data.tar.gz: afb5509325ef53d0d24334c9ddb3c2607ba35823024a96f1ce285b2306002ea0ba46fcb7a59cb937512c047b131ccd0813c71b0c4966f80819d762f7480e6f8c
|
data/README.md
CHANGED
@@ -250,7 +250,7 @@ Bug reports to the github issue tracker please.
|
|
250
250
|
Please include:
|
251
251
|
|
252
252
|
* Relevant `Puppetfile` and `Puppetfile.lock` files
|
253
|
-
* Version of ruby, librarian-puppet
|
253
|
+
* Version of ruby, librarian-puppet, and puppet
|
254
254
|
* What distro
|
255
255
|
* Please run the `librarian-puppet` commands in verbose mode by using the
|
256
256
|
`--verbose` flag, and include the verbose output in the bug report as well.
|
data/lib/librarian/puppet.rb
CHANGED
@@ -1,21 +1,6 @@
|
|
1
1
|
require 'librarian'
|
2
2
|
require 'fileutils'
|
3
3
|
|
4
|
-
out = nil
|
5
|
-
begin
|
6
|
-
out = Librarian::Posix.run!(%W{puppet --version})
|
7
|
-
rescue Librarian::Posix::CommandFailure => error
|
8
|
-
|
9
|
-
$stderr.puts <<-EOF
|
10
|
-
Unable to load puppet. Please install it using native packages for your platform (eg .deb, .rpm, .dmg, etc).
|
11
|
-
puppet --version returned #{status.exitstatus}
|
12
|
-
#{error.message unless error.message.nil?}
|
13
|
-
EOF
|
14
|
-
exit 1
|
15
|
-
end
|
16
|
-
|
17
|
-
PUPPET_VERSION=out.split(' ').first.strip
|
18
|
-
|
19
4
|
require 'librarian/puppet/extension'
|
20
5
|
require 'librarian/puppet/version'
|
21
6
|
|
@@ -23,5 +8,29 @@ require 'librarian/action/install'
|
|
23
8
|
|
24
9
|
module Librarian
|
25
10
|
module Puppet
|
11
|
+
@@puppet_version = nil
|
12
|
+
|
13
|
+
# Output of puppet --version, typically x.y.z
|
14
|
+
# For Puppet Enterprise it contains the PE version too, ie. 3.4.3 (Puppet Enterprise 3.2.1)
|
15
|
+
def puppet_version
|
16
|
+
return @@puppet_version unless @@puppet_version.nil?
|
17
|
+
|
18
|
+
begin
|
19
|
+
@@puppet_version = Librarian::Posix.run!(%W{puppet --version})
|
20
|
+
rescue Librarian::Posix::CommandFailure => error
|
21
|
+
msg = "Unable to load puppet. Please install it using native packages for your platform (eg .deb, .rpm, .dmg, etc)."
|
22
|
+
msg += "\npuppet --version returned #{error.status}"
|
23
|
+
msg += "\n#{error.message}" unless error.message.nil?
|
24
|
+
$stderr.puts msg
|
25
|
+
exit 1
|
26
|
+
end
|
27
|
+
return @@puppet_version
|
28
|
+
end
|
29
|
+
|
30
|
+
# Puppet version x.y.z translated as a Gem version
|
31
|
+
def puppet_gem_version
|
32
|
+
Gem::Version.create(puppet_version.split(' ').first.strip.gsub('-', '.'))
|
33
|
+
end
|
34
|
+
|
26
35
|
end
|
27
36
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'json'
|
2
2
|
require 'open-uri'
|
3
|
+
require 'librarian/puppet/util'
|
3
4
|
|
4
5
|
module Librarian
|
5
6
|
module Puppet
|
@@ -103,9 +104,15 @@ module Librarian
|
|
103
104
|
|
104
105
|
target = vendored?(name, version) ? vendored_path(name, version).to_s : name
|
105
106
|
|
107
|
+
# TODO can't pass the default forge url (http://forge.puppetlabs.com) to clients that use the v3 API (https://forgeapi.puppetlabs.com)
|
108
|
+
module_repository = source.to_s
|
109
|
+
if Forge.client_api_version() > 1 and source =~ %r{^http(s)?://forge\.puppetlabs\.com}
|
110
|
+
module_repository = "https://forgeapi.puppetlabs.com"
|
111
|
+
warn("Your Puppet client uses the Forge API v3, you should use this Forge URL: #{module_repository}")
|
112
|
+
end
|
106
113
|
|
107
114
|
command = %W{puppet module install --version #{version} --target-dir}
|
108
|
-
command.push(*[path.to_s, "--module_repository",
|
115
|
+
command.push(*[path.to_s, "--module_repository", module_repository, "--modulepath", path.to_s, "--module_working_dir", path.to_s, "--ignore-dependencies", target])
|
109
116
|
debug { "Executing puppet module install for #{name} #{version}" }
|
110
117
|
|
111
118
|
begin
|
@@ -130,9 +137,8 @@ module Librarian
|
|
130
137
|
|
131
138
|
def check_puppet_module_options
|
132
139
|
min_version = Gem::Version.create('2.7.13')
|
133
|
-
puppet_version = Gem::Version.create(PUPPET_VERSION.gsub('-', '.'))
|
134
140
|
|
135
|
-
if
|
141
|
+
if Librarian::Puppet.puppet_gem_version < min_version
|
136
142
|
raise Error, "To get modules from the forge, we use the puppet faces module command. For this you need at least puppet version 2.7.13 and you have #{puppet_version}"
|
137
143
|
end
|
138
144
|
end
|
@@ -220,6 +226,18 @@ module Librarian
|
|
220
226
|
|
221
227
|
new(environment, uri, options)
|
222
228
|
end
|
229
|
+
|
230
|
+
def client_api_version()
|
231
|
+
version = 1
|
232
|
+
pe_version = Librarian::Puppet.puppet_version.match(/\(Puppet Enterprise (.+)\)/)
|
233
|
+
|
234
|
+
# Puppet enterprise 3.2.0+ uses api v3
|
235
|
+
if pe_version and Gem::Version.create(pe_version[1].strip) >= Gem::Version.create('3.2.0')
|
236
|
+
version = 3
|
237
|
+
end
|
238
|
+
return version
|
239
|
+
end
|
240
|
+
|
223
241
|
end
|
224
242
|
|
225
243
|
attr_accessor :environment
|
metadata
CHANGED
@@ -1,111 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: librarian-puppet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Sharpe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: librarian
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.1.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.1.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cucumber
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: aruba
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: puppet
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
@@ -126,18 +126,20 @@ dependencies:
|
|
126
126
|
name: mocha
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - '>='
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - '>='
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
-
description:
|
140
|
-
|
139
|
+
description: |-
|
140
|
+
Simplify deployment of your Puppet infrastructure by
|
141
|
+
automatically pulling in modules from the forge and git repositories with
|
142
|
+
a single command.
|
141
143
|
email:
|
142
144
|
- tim@sharpe.id.au
|
143
145
|
executables:
|
@@ -175,12 +177,12 @@ require_paths:
|
|
175
177
|
- lib
|
176
178
|
required_ruby_version: !ruby/object:Gem::Requirement
|
177
179
|
requirements:
|
178
|
-
- -
|
180
|
+
- - '>='
|
179
181
|
- !ruby/object:Gem::Version
|
180
182
|
version: '0'
|
181
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
184
|
requirements:
|
183
|
-
- -
|
185
|
+
- - '>='
|
184
186
|
- !ruby/object:Gem::Version
|
185
187
|
version: '0'
|
186
188
|
requirements: []
|