puppet 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CHANGELOG +0 -0
- data/COPYING +340 -0
- data/LICENSE +17 -0
- data/README +24 -0
- data/Rakefile +294 -0
- data/TODO +4 -0
- data/bin/cf2puppet +186 -0
- data/bin/puppet +176 -0
- data/bin/puppetca +213 -0
- data/bin/puppetd +246 -0
- data/bin/puppetdoc +184 -0
- data/bin/puppetmasterd +258 -0
- data/examples/code/allatonce +13 -0
- data/examples/code/assignments +11 -0
- data/examples/code/classing +35 -0
- data/examples/code/components +73 -0
- data/examples/code/execs +16 -0
- data/examples/code/failers/badclassnoparam +10 -0
- data/examples/code/failers/badclassparam +10 -0
- data/examples/code/failers/badcompnoparam +9 -0
- data/examples/code/failers/badcompparam +9 -0
- data/examples/code/failers/badtypeparam +3 -0
- data/examples/code/file.bl +11 -0
- data/examples/code/filedefaults +10 -0
- data/examples/code/fileparsing +116 -0
- data/examples/code/filerecursion +15 -0
- data/examples/code/functions +3 -0
- data/examples/code/groups +7 -0
- data/examples/code/head +30 -0
- data/examples/code/importing +8 -0
- data/examples/code/nodes +20 -0
- data/examples/code/one +8 -0
- data/examples/code/relationships +34 -0
- data/examples/code/selectors +28 -0
- data/examples/code/simpletests +11 -0
- data/examples/code/snippets/argumentdefaults +14 -0
- data/examples/code/snippets/casestatement +39 -0
- data/examples/code/snippets/classheirarchy.pp +15 -0
- data/examples/code/snippets/classincludes.pp +17 -0
- data/examples/code/snippets/classpathtest +11 -0
- data/examples/code/snippets/dirchmod +19 -0
- data/examples/code/snippets/failmissingexecpath.pp +13 -0
- data/examples/code/snippets/falsevalues.pp +3 -0
- data/examples/code/snippets/filecreate +11 -0
- data/examples/code/snippets/implicititeration +15 -0
- data/examples/code/snippets/multipleinstances +7 -0
- data/examples/code/snippets/namevartest +9 -0
- data/examples/code/snippets/scopetest +13 -0
- data/examples/code/snippets/selectorvalues.pp +22 -0
- data/examples/code/snippets/simpledefaults +5 -0
- data/examples/code/snippets/simpleselector +38 -0
- data/examples/code/svncommit +13 -0
- data/examples/root/bin/sleeper +69 -0
- data/examples/root/etc/configfile +0 -0
- data/examples/root/etc/debian-passwd +29 -0
- data/examples/root/etc/debian-syslog.conf +71 -0
- data/examples/root/etc/init.d/sleeper +65 -0
- data/examples/root/etc/otherfile +0 -0
- data/examples/root/etc/puppet/fileserver.conf +3 -0
- data/examples/root/etc/puppet/puppetmasterd.conf +10 -0
- data/ext/module:puppet +195 -0
- data/install.rb +270 -0
- data/lib/puppet.rb +249 -0
- data/lib/puppet/base64.rb +19 -0
- data/lib/puppet/client.rb +519 -0
- data/lib/puppet/config.rb +49 -0
- data/lib/puppet/daemon.rb +208 -0
- data/lib/puppet/element.rb +71 -0
- data/lib/puppet/event.rb +259 -0
- data/lib/puppet/log.rb +321 -0
- data/lib/puppet/metric.rb +250 -0
- data/lib/puppet/parsedfile.rb +38 -0
- data/lib/puppet/parser/ast.rb +1560 -0
- data/lib/puppet/parser/interpreter.rb +150 -0
- data/lib/puppet/parser/lexer.rb +226 -0
- data/lib/puppet/parser/parser.rb +1354 -0
- data/lib/puppet/parser/scope.rb +755 -0
- data/lib/puppet/server.rb +170 -0
- data/lib/puppet/server/authstore.rb +227 -0
- data/lib/puppet/server/ca.rb +140 -0
- data/lib/puppet/server/filebucket.rb +147 -0
- data/lib/puppet/server/fileserver.rb +477 -0
- data/lib/puppet/server/logger.rb +43 -0
- data/lib/puppet/server/master.rb +103 -0
- data/lib/puppet/server/servlet.rb +247 -0
- data/lib/puppet/sslcertificates.rb +737 -0
- data/lib/puppet/statechange.rb +150 -0
- data/lib/puppet/storage.rb +95 -0
- data/lib/puppet/transaction.rb +179 -0
- data/lib/puppet/transportable.rb +151 -0
- data/lib/puppet/type.rb +1354 -0
- data/lib/puppet/type/component.rb +141 -0
- data/lib/puppet/type/cron.rb +543 -0
- data/lib/puppet/type/exec.rb +316 -0
- data/lib/puppet/type/group.rb +152 -0
- data/lib/puppet/type/nameservice.rb +3 -0
- data/lib/puppet/type/nameservice/netinfo.rb +173 -0
- data/lib/puppet/type/nameservice/objectadd.rb +146 -0
- data/lib/puppet/type/nameservice/posix.rb +200 -0
- data/lib/puppet/type/package.rb +420 -0
- data/lib/puppet/type/package/apt.rb +70 -0
- data/lib/puppet/type/package/dpkg.rb +108 -0
- data/lib/puppet/type/package/rpm.rb +81 -0
- data/lib/puppet/type/package/sun.rb +117 -0
- data/lib/puppet/type/package/yum.rb +58 -0
- data/lib/puppet/type/pfile.rb +569 -0
- data/lib/puppet/type/pfile/checksum.rb +219 -0
- data/lib/puppet/type/pfile/create.rb +108 -0
- data/lib/puppet/type/pfile/group.rb +129 -0
- data/lib/puppet/type/pfile/mode.rb +131 -0
- data/lib/puppet/type/pfile/source.rb +264 -0
- data/lib/puppet/type/pfile/type.rb +31 -0
- data/lib/puppet/type/pfile/uid.rb +166 -0
- data/lib/puppet/type/pfilebucket.rb +80 -0
- data/lib/puppet/type/pprocess.rb +97 -0
- data/lib/puppet/type/service.rb +347 -0
- data/lib/puppet/type/service/base.rb +17 -0
- data/lib/puppet/type/service/debian.rb +50 -0
- data/lib/puppet/type/service/init.rb +145 -0
- data/lib/puppet/type/service/smf.rb +29 -0
- data/lib/puppet/type/state.rb +182 -0
- data/lib/puppet/type/symlink.rb +183 -0
- data/lib/puppet/type/tidy.rb +183 -0
- data/lib/puppet/type/typegen.rb +149 -0
- data/lib/puppet/type/typegen/filerecord.rb +243 -0
- data/lib/puppet/type/typegen/filetype.rb +316 -0
- data/lib/puppet/type/user.rb +290 -0
- data/lib/puppet/util.rb +138 -0
- data/test/certmgr/certmgr.rb +265 -0
- data/test/client/client.rb +203 -0
- data/test/executables/puppetbin.rb +53 -0
- data/test/executables/puppetca.rb +79 -0
- data/test/executables/puppetd.rb +71 -0
- data/test/executables/puppetmasterd.rb +153 -0
- data/test/executables/puppetmodule.rb +60 -0
- data/test/language/ast.rb +412 -0
- data/test/language/interpreter.rb +71 -0
- data/test/language/scope.rb +412 -0
- data/test/language/snippets.rb +445 -0
- data/test/other/events.rb +111 -0
- data/test/other/log.rb +195 -0
- data/test/other/metrics.rb +92 -0
- data/test/other/overrides.rb +115 -0
- data/test/other/parsedfile.rb +31 -0
- data/test/other/relationships.rb +113 -0
- data/test/other/state.rb +106 -0
- data/test/other/storage.rb +39 -0
- data/test/other/transactions.rb +235 -0
- data/test/parser/lexer.rb +120 -0
- data/test/parser/parser.rb +180 -0
- data/test/puppet/conffiles.rb +104 -0
- data/test/puppet/defaults.rb +100 -0
- data/test/puppet/error.rb +23 -0
- data/test/puppet/utiltest.rb +120 -0
- data/test/puppettest.rb +774 -0
- data/test/server/authstore.rb +209 -0
- data/test/server/bucket.rb +227 -0
- data/test/server/ca.rb +201 -0
- data/test/server/fileserver.rb +710 -0
- data/test/server/logger.rb +175 -0
- data/test/server/master.rb +150 -0
- data/test/server/server.rb +130 -0
- data/test/tagging/tagging.rb +80 -0
- data/test/test +51 -0
- data/test/types/basic.rb +119 -0
- data/test/types/component.rb +272 -0
- data/test/types/cron.rb +261 -0
- data/test/types/exec.rb +273 -0
- data/test/types/file.rb +616 -0
- data/test/types/filebucket.rb +167 -0
- data/test/types/fileignoresource.rb +287 -0
- data/test/types/filesources.rb +587 -0
- data/test/types/filetype.rb +162 -0
- data/test/types/group.rb +271 -0
- data/test/types/package.rb +205 -0
- data/test/types/query.rb +101 -0
- data/test/types/service.rb +100 -0
- data/test/types/symlink.rb +93 -0
- data/test/types/tidy.rb +124 -0
- data/test/types/type.rb +135 -0
- data/test/types/user.rb +371 -0
- metadata +243 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
# $Id: relationships 576 2005-08-23 16:09:14Z luke $
|
2
|
+
|
3
|
+
#service.setpath("../examples/root/etc/init.d")
|
4
|
+
#puppet.statefile("/tmp/puppetstate")
|
5
|
+
$path = "../examples/root/etc/configfile"
|
6
|
+
path => "../examples/root/etc/init.d"
|
7
|
+
|
8
|
+
|
9
|
+
define files {
|
10
|
+
file { "/tmp/yaytest":
|
11
|
+
create => true,
|
12
|
+
mode => 755
|
13
|
+
}
|
14
|
+
file { "/tmp/exists":
|
15
|
+
checksum => md5
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
define sleeper {
|
20
|
+
file { $path:
|
21
|
+
mode => 755
|
22
|
+
}
|
23
|
+
service { sleeper:
|
24
|
+
path => "../examples/root/etc/init.d",
|
25
|
+
running => 1
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
files { }
|
30
|
+
|
31
|
+
sleeper {
|
32
|
+
require => files["yay"],
|
33
|
+
schedule => true
|
34
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# $Id: selectors 599 2005-08-29 21:03:46Z luke $
|
2
|
+
#
|
3
|
+
|
4
|
+
$platform = SunOS
|
5
|
+
|
6
|
+
$funtest = $platform ? {
|
7
|
+
SunOS => yayness,
|
8
|
+
AIX => goodness,
|
9
|
+
default => badness
|
10
|
+
}
|
11
|
+
|
12
|
+
# this is a comment
|
13
|
+
|
14
|
+
$filename = "/tmp/yayness"
|
15
|
+
|
16
|
+
$sleeper = file { $filename:
|
17
|
+
mode => $platform ? {
|
18
|
+
SunOS => 644,
|
19
|
+
default => 755
|
20
|
+
},
|
21
|
+
create => $platform ? "SunOS" => true
|
22
|
+
}
|
23
|
+
|
24
|
+
# i guess it has to be solved this way...
|
25
|
+
|
26
|
+
#$platform ? sunos => file { $filename:
|
27
|
+
# mode => 644
|
28
|
+
#}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# $Id: argumentdefaults 576 2005-08-23 16:09:14Z luke $
|
2
|
+
|
3
|
+
define testargs(file, mode = 755) {
|
4
|
+
file { $file: create => true, mode => $mode }
|
5
|
+
}
|
6
|
+
|
7
|
+
testargs { "testingname":
|
8
|
+
file => "/tmp/argumenttest1"
|
9
|
+
}
|
10
|
+
|
11
|
+
testargs { "testingother":
|
12
|
+
file => "/tmp/argumenttest2",
|
13
|
+
mode => 644
|
14
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# $Id: casestatement 587 2005-08-24 02:53:17Z luke $
|
2
|
+
|
3
|
+
$var = "value"
|
4
|
+
|
5
|
+
case $var {
|
6
|
+
"nope": {
|
7
|
+
file { "/tmp/fakefile": mode => 644, create => true }
|
8
|
+
}
|
9
|
+
"value": {
|
10
|
+
file { "/tmp/existsfile": mode => 755, create => true }
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
$ovar = "yayness"
|
15
|
+
|
16
|
+
case $ovar {
|
17
|
+
"fooness": {
|
18
|
+
file { "/tmp/nostillexistsfile": mode => 644, create => true }
|
19
|
+
}
|
20
|
+
"booness", "yayness": {
|
21
|
+
case $var {
|
22
|
+
"nep": {
|
23
|
+
file { "/tmp/noexistsfile": mode => 644, create => true }
|
24
|
+
}
|
25
|
+
"value": {
|
26
|
+
file { "/tmp/existsfile2": mode => 755, create => true }
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
case $ovar {
|
33
|
+
"fooness": {
|
34
|
+
file { "/tmp/nostillexistsfile": mode => 644, create => true }
|
35
|
+
}
|
36
|
+
default: {
|
37
|
+
file { "/tmp/existsfile3": mode => 755, create => true }
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# $Id: classheirarchy.pp 700 2005-09-22 23:24:20Z luke $
|
2
|
+
|
3
|
+
class base {
|
4
|
+
file { "/tmp/classheir1": create => true, mode => 755 }
|
5
|
+
}
|
6
|
+
|
7
|
+
class sub1 inherits base {
|
8
|
+
file { "/tmp/classheir2": create => true, mode => 755 }
|
9
|
+
}
|
10
|
+
|
11
|
+
class sub2 inherits base {
|
12
|
+
file { "/tmp/classheir3": create => true, mode => 755 }
|
13
|
+
}
|
14
|
+
|
15
|
+
include sub1, sub2
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# $Id: classincludes.pp 708 2005-09-28 17:25:02Z luke $
|
2
|
+
|
3
|
+
class base {
|
4
|
+
file { "/tmp/classincludes1": create => true, mode => 755 }
|
5
|
+
}
|
6
|
+
|
7
|
+
class sub1 inherits base {
|
8
|
+
file { "/tmp/classincludes2": create => true, mode => 755 }
|
9
|
+
}
|
10
|
+
|
11
|
+
class sub2 inherits base {
|
12
|
+
file { "/tmp/classincludes3": create => true, mode => 755 }
|
13
|
+
}
|
14
|
+
|
15
|
+
$sub = "sub2"
|
16
|
+
|
17
|
+
include sub1, $sub
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# $Id: dirchmod 576 2005-08-23 16:09:14Z luke $
|
2
|
+
|
3
|
+
file {
|
4
|
+
"/tmp/dirchmodtesta": create => directory;
|
5
|
+
"/tmp/dirchmodtesta/testing": create => true
|
6
|
+
}
|
7
|
+
|
8
|
+
file { "/tmp/dirchmodtesta":
|
9
|
+
mode => 644, recurse => true
|
10
|
+
}
|
11
|
+
|
12
|
+
file {
|
13
|
+
"/tmp/dirchmodtestb": create => directory;
|
14
|
+
"/tmp/dirchmodtestb/testing": create => true
|
15
|
+
}
|
16
|
+
|
17
|
+
file { "/tmp/dirchmodtestb":
|
18
|
+
mode => 600, recurse => true
|
19
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# $Id: implicititeration 589 2005-08-25 20:54:16Z luke $
|
2
|
+
|
3
|
+
$files = ["/tmp/iterationatest", "/tmp/iterationbtest"]
|
4
|
+
|
5
|
+
file { $files: create => true, mode => 755 }
|
6
|
+
|
7
|
+
file { ["/tmp/iterationctest", "/tmp/iterationdtest"]:
|
8
|
+
create => true,
|
9
|
+
mode => 755
|
10
|
+
}
|
11
|
+
|
12
|
+
file {
|
13
|
+
["/tmp/iterationetest", "/tmp/iterationftest"]: create => true, mode => 755;
|
14
|
+
["/tmp/iterationgtest", "/tmp/iterationhtest"]: create => true, mode => 755;
|
15
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
$value1 = ""
|
2
|
+
$value2 = true
|
3
|
+
$value3 = false
|
4
|
+
|
5
|
+
$mode1 = $value1 ? {
|
6
|
+
"" => 755,
|
7
|
+
default => 644
|
8
|
+
}
|
9
|
+
|
10
|
+
$mode2 = $value2 ? {
|
11
|
+
true => 755,
|
12
|
+
default => 644
|
13
|
+
}
|
14
|
+
|
15
|
+
$mode3 = $value3 ? {
|
16
|
+
false => 755,
|
17
|
+
default => 644
|
18
|
+
}
|
19
|
+
|
20
|
+
file { "/tmp/selectorvalues1": create => true, mode => $mode1 }
|
21
|
+
file { "/tmp/selectorvalues2": create => true, mode => $mode2 }
|
22
|
+
file { "/tmp/selectorvalues3": create => true, mode => $mode3 }
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# $Id: simpleselector 576 2005-08-23 16:09:14Z luke $
|
2
|
+
|
3
|
+
$var = "value"
|
4
|
+
|
5
|
+
file { "/tmp/snippetselectatest":
|
6
|
+
create => true,
|
7
|
+
mode => $var ? {
|
8
|
+
nottrue => 641,
|
9
|
+
value => 755
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
file { "/tmp/snippetselectbtest":
|
14
|
+
create => true,
|
15
|
+
mode => $var ? {
|
16
|
+
nottrue => 644,
|
17
|
+
default => 755
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
$othervar = "complex value"
|
22
|
+
|
23
|
+
file { "/tmp/snippetselectctest":
|
24
|
+
create => true,
|
25
|
+
mode => $othervar ? {
|
26
|
+
"complex value" => 755,
|
27
|
+
default => 644
|
28
|
+
}
|
29
|
+
}
|
30
|
+
$anothervar = Yayness
|
31
|
+
|
32
|
+
file { "/tmp/snippetselectdtest":
|
33
|
+
create => true,
|
34
|
+
mode => $anothervar ? {
|
35
|
+
Yayness => 755,
|
36
|
+
default => 644
|
37
|
+
}
|
38
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
|
3
|
+
###
|
4
|
+
# sleep indefinitely as a debug
|
5
|
+
|
6
|
+
require 'getoptlong'
|
7
|
+
|
8
|
+
#-----------------------------------------------------------------
|
9
|
+
def daemonize
|
10
|
+
outfile = "/tmp/sleeperout"
|
11
|
+
if pid = fork()
|
12
|
+
Process.detach(pid)
|
13
|
+
sleep 1
|
14
|
+
# verify that we didn't have any problems starting the daemon
|
15
|
+
if FileTest.exists?(outfile)
|
16
|
+
$stderr.puts "Sleeper failed: %s" % File.read(outfile)
|
17
|
+
File.unlink(outfile)
|
18
|
+
exit(14)
|
19
|
+
else
|
20
|
+
exit(0)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
Process.setsid
|
24
|
+
Dir.chdir("/")
|
25
|
+
begin
|
26
|
+
$stdin.reopen "/dev/null"
|
27
|
+
$stdout.reopen "/dev/null", "a"
|
28
|
+
$stderr.reopen $stdin
|
29
|
+
rescue => detail
|
30
|
+
File.open(outfile, "w") { |f|
|
31
|
+
f.puts detail
|
32
|
+
}
|
33
|
+
exit(12)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
#-----------------------------------------------------------------
|
37
|
+
|
38
|
+
debug = false
|
39
|
+
|
40
|
+
result = GetoptLong.new(
|
41
|
+
[ "--debug", "-d", GetoptLong::NO_ARGUMENT ],
|
42
|
+
[ "--help", "-h", GetoptLong::NO_ARGUMENT ]
|
43
|
+
)
|
44
|
+
|
45
|
+
result.each { |opt,arg|
|
46
|
+
case opt
|
47
|
+
when "--help"
|
48
|
+
puts "There is no help yet"
|
49
|
+
exit
|
50
|
+
when "--debug"
|
51
|
+
debug = true
|
52
|
+
else
|
53
|
+
raise "Invalid option '#{opt}'"
|
54
|
+
end
|
55
|
+
}
|
56
|
+
|
57
|
+
trap(:INT) {
|
58
|
+
exit
|
59
|
+
}
|
60
|
+
|
61
|
+
unless debug
|
62
|
+
daemonize()
|
63
|
+
end
|
64
|
+
|
65
|
+
var = true
|
66
|
+
|
67
|
+
while var do
|
68
|
+
sleep 600
|
69
|
+
end
|
File without changes
|
@@ -0,0 +1,29 @@
|
|
1
|
+
root:x:0:0:root:/root:/bin/bash
|
2
|
+
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
|
3
|
+
bin:x:2:2:bin:/bin:/bin/sh
|
4
|
+
sys:x:3:3:sys:/dev:/bin/sh
|
5
|
+
sync:x:4:65534:sync:/bin:/bin/sync
|
6
|
+
games:x:5:60:games:/usr/games:/bin/sh
|
7
|
+
man:x:6:12:man:/var/cache/man:/bin/sh
|
8
|
+
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
|
9
|
+
mail:x:8:8:mail:/var/mail:/bin/sh
|
10
|
+
news:x:9:9:news:/var/spool/news:/bin/sh
|
11
|
+
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
|
12
|
+
proxy:x:13:13:proxy:/bin:/bin/sh
|
13
|
+
postgres:x:31:32:postgres:/var/lib/postgres:/bin/sh
|
14
|
+
www-data:x:33:33:www-data:/var/www:/bin/sh
|
15
|
+
backup:x:34:34:backup:/var/backups:/bin/sh
|
16
|
+
operator:x:37:37:Operator:/var:/bin/sh
|
17
|
+
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
|
18
|
+
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
|
19
|
+
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
|
20
|
+
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
|
21
|
+
sshd:x:102:65534::/var/run/sshd:/bin/false
|
22
|
+
gdm:x:101:101:Gnome Display Manager:/var/lib/gdm:/bin/false
|
23
|
+
telnetd:x:103:103::/usr/lib/telnetd:/bin/false
|
24
|
+
nagios:x:1000:1001::/home/nagios:
|
25
|
+
messagebus:x:104:107::/var/run/dbus:/bin/false
|
26
|
+
saned:x:109:109::/home/saned:/bin/false
|
27
|
+
ganglia:x:105:110:Ganglia Monitor:/var/lib/ganglia:/bin/false
|
28
|
+
zope:x:106:111::/var/lib/zope2.7/var:/bin/false
|
29
|
+
fbgetty:x:112:112::/home/fbgetty:/bin/false
|