puppet 0.24.5 → 0.24.6
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 +206 -0
- data/Rakefile +53 -0
- data/bin/filebucket +0 -0
- data/bin/puppet +32 -11
- data/bin/puppetca +1 -0
- data/bin/puppetd +0 -0
- data/bin/puppetdoc +0 -0
- data/bin/puppetmasterd +0 -0
- data/bin/puppetrun +16 -8
- data/bin/ralsh +0 -0
- data/conf/debian/rules +0 -0
- data/conf/gentoo/init.d/puppetmaster +0 -0
- data/conf/osx/PackageInfo.plist +36 -0
- data/conf/osx/createpackage.sh +167 -0
- data/conf/osx/preflight +12 -0
- data/conf/redhat/client.init +1 -1
- data/conf/redhat/puppet.spec +34 -6
- data/conf/redhat/server.init +42 -7
- data/conf/redhat/server.sysconfig +22 -0
- data/conf/solaris/smf/svc-puppetd +0 -0
- data/conf/solaris/smf/svc-puppetmasterd +0 -0
- data/examples/etc/init.d/sleeper +0 -0
- data/examples/mac_dscl.pp +0 -0
- data/examples/mac_dscl_revert.pp +0 -0
- data/examples/mac_netinfo.pp +0 -0
- data/examples/mac_pkgdmg.pp +0 -0
- data/ext/bin/sleeper +0 -0
- data/ext/module_puppet +0 -0
- data/ext/nagios/check_puppet.rb +0 -0
- data/ext/passenger/README +63 -0
- data/ext/passenger/apache2.conf +29 -0
- data/ext/passenger/config.ru +40 -0
- data/ext/puppet-test +0 -0
- data/ext/puppetlast +6 -31
- data/ext/puppetstoredconfigclean.rb +87 -0
- data/install.rb +75 -20
- data/lib/puppet.rb +1 -1
- data/lib/puppet/daemon.rb +0 -0
- data/lib/puppet/defaults.rb +3 -7
- data/lib/puppet/external/base64.rb +0 -0
- data/lib/puppet/external/nagios.rb +0 -0
- data/lib/puppet/external/nagios/base.rb +0 -0
- data/lib/puppet/file_serving/fileset.rb +2 -2
- data/lib/puppet/file_serving/metadata.rb +3 -3
- data/lib/puppet/indirector/facts/facter.rb +3 -2
- data/lib/puppet/indirector/yaml.rb +10 -1
- data/lib/puppet/module.rb +36 -12
- data/lib/puppet/network/authstore.rb +0 -0
- data/lib/puppet/network/client/master.rb +12 -11
- data/lib/puppet/network/handler/filebucket.rb +0 -0
- data/lib/puppet/network/handler/fileserver.rb +38 -46
- data/lib/puppet/network/handler/master.rb +1 -1
- data/lib/puppet/network/handler/report.rb +0 -0
- data/lib/puppet/network/handler/resource.rb +0 -0
- data/lib/puppet/network/handler/runner.rb +0 -0
- data/lib/puppet/network/http_server/rack.rb +148 -0
- data/lib/puppet/network/rights.rb +0 -0
- data/lib/puppet/network/xmlrpc/client.rb +5 -5
- data/lib/puppet/node.rb +5 -9
- data/lib/puppet/node/environment.rb +1 -17
- data/lib/puppet/node/facts.rb +0 -0
- data/lib/puppet/parameter.rb +1 -28
- data/lib/puppet/parser/ast.rb +6 -0
- data/lib/puppet/parser/ast/arithmetic_operator.rb +41 -0
- data/lib/puppet/parser/ast/boolean_operator.rb +48 -0
- data/lib/puppet/parser/ast/collexpr.rb +6 -1
- data/lib/puppet/parser/ast/comparison_operator.rb +37 -0
- data/lib/puppet/parser/ast/minus.rb +23 -0
- data/lib/puppet/parser/ast/nop.rb +11 -0
- data/lib/puppet/parser/ast/not.rb +19 -0
- data/lib/puppet/parser/ast/resource_override.rb +23 -16
- data/lib/puppet/parser/ast/resource_reference.rb +10 -6
- data/lib/puppet/parser/ast/vardef.rb +2 -2
- data/lib/puppet/parser/collector.rb +2 -1
- data/lib/puppet/parser/functions.rb +7 -217
- data/lib/puppet/parser/functions/defined.rb +27 -0
- data/lib/puppet/parser/functions/fail.rb +4 -0
- data/lib/puppet/parser/functions/file.rb +21 -0
- data/lib/puppet/parser/functions/fqdn_rand.rb +15 -0
- data/lib/puppet/parser/functions/generate.rb +35 -0
- data/lib/puppet/parser/functions/include.rb +26 -0
- data/lib/puppet/parser/functions/realize.rb +14 -0
- data/lib/puppet/parser/functions/search.rb +7 -0
- data/lib/puppet/parser/functions/sha1.rb +6 -0
- data/lib/puppet/parser/functions/tag.rb +6 -0
- data/lib/puppet/parser/functions/tagged.rb +18 -0
- data/lib/puppet/parser/functions/template.rb +22 -0
- data/lib/puppet/parser/lexer.rb +15 -5
- data/lib/puppet/parser/parser.rb +1073 -715
- data/lib/puppet/parser/parser_support.rb +18 -13
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/resource/param.rb +10 -2
- data/lib/puppet/parser/scope.rb +63 -5
- data/lib/puppet/parser/templatewrapper.rb +61 -15
- data/lib/puppet/property.rb +7 -1
- data/lib/puppet/property/keyvalue.rb +96 -0
- data/lib/puppet/property/list.rb +78 -0
- data/lib/puppet/provider/confine.rb +1 -1
- data/lib/puppet/provider/confine/variable.rb +10 -1
- data/lib/puppet/provider/cron/crontab.rb +0 -0
- data/lib/puppet/provider/mailalias/aliases.rb +0 -0
- data/lib/puppet/provider/maillist/mailman.rb +0 -0
- data/lib/puppet/provider/mount/parsed.rb +0 -0
- data/lib/puppet/provider/nameservice.rb +24 -39
- data/lib/puppet/provider/nameservice/directoryservice.rb +12 -3
- data/lib/puppet/provider/nameservice/netinfo.rb +12 -2
- data/lib/puppet/provider/nameservice/objectadd.rb +1 -10
- data/lib/puppet/provider/package/appdmg.rb +1 -1
- data/lib/puppet/provider/package/apple.rb +0 -0
- data/lib/puppet/provider/package/apt.rb +14 -21
- data/lib/puppet/provider/package/aptitude.rb +0 -0
- data/lib/puppet/provider/package/blastwave.rb +2 -0
- data/lib/puppet/provider/package/darwinport.rb +0 -0
- data/lib/puppet/provider/package/dpkg.rb +33 -51
- data/lib/puppet/provider/package/fink.rb +1 -1
- data/lib/puppet/provider/package/freebsd.rb +0 -0
- data/lib/puppet/provider/package/gem.rb +0 -0
- data/lib/puppet/provider/package/hpux.rb +46 -0
- data/lib/puppet/provider/package/openbsd.rb +0 -0
- data/lib/puppet/provider/package/pkgdmg.rb +1 -1
- data/lib/puppet/provider/package/portage.rb +3 -1
- data/lib/puppet/provider/package/ports.rb +3 -3
- data/lib/puppet/provider/package/rpm.rb +8 -1
- data/lib/puppet/provider/package/rug.rb +2 -2
- data/lib/puppet/provider/package/sun.rb +2 -0
- data/lib/puppet/provider/package/sunfreeware.rb +3 -0
- data/lib/puppet/provider/package/yum.rb +24 -17
- data/lib/puppet/provider/package/yumhelper.py +92 -11
- data/lib/puppet/provider/parsedfile.rb +0 -0
- data/lib/puppet/provider/port/parsed.rb +0 -0
- data/lib/puppet/provider/selboolean/getsetsebool.rb +47 -0
- data/lib/puppet/provider/selmodule/semodule.rb +143 -0
- data/lib/puppet/provider/service/base.rb +0 -0
- data/lib/puppet/provider/service/daemontools.rb +154 -0
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/freebsd.rb +2 -0
- data/lib/puppet/provider/service/gentoo.rb +2 -0
- data/lib/puppet/provider/service/init.rb +0 -0
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/runit.rb +93 -0
- data/lib/puppet/provider/service/smf.rb +2 -0
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +7 -1
- data/lib/puppet/provider/sshkey/parsed.rb +0 -0
- data/lib/puppet/provider/user/hpux.rb +30 -0
- data/lib/puppet/provider/user/user_role_add.rb +156 -0
- data/lib/puppet/provider/user/useradd.rb +23 -14
- data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +17 -0
- data/lib/puppet/rails/database/schema.rb +0 -8
- data/lib/puppet/rails/resource.rb +6 -6
- data/lib/puppet/reference/configuration.rb +0 -7
- data/lib/puppet/reports.rb +0 -0
- data/lib/puppet/reports/rrdgraph.rb +3 -2
- data/lib/puppet/sslcertificates.rb +0 -0
- data/lib/puppet/sslcertificates/inventory.rb +3 -2
- data/lib/puppet/sslcertificates/support.rb +3 -0
- data/lib/puppet/transaction/report.rb +1 -7
- data/lib/puppet/transportable.rb +10 -7
- data/lib/puppet/type.rb +2110 -14
- data/lib/puppet/type/cron.rb +0 -0
- data/lib/puppet/type/exec.rb +0 -0
- data/lib/puppet/type/file.rb +12 -2
- data/lib/puppet/type/file/checksum.rb +4 -0
- data/lib/puppet/type/file/content.rb +0 -0
- data/lib/puppet/type/file/ensure.rb +0 -0
- data/lib/puppet/type/file/group.rb +30 -43
- data/lib/puppet/type/file/mode.rb +0 -0
- data/lib/puppet/type/file/owner.rb +0 -0
- data/lib/puppet/type/file/selcontext.rb +104 -0
- data/lib/puppet/type/file/source.rb +0 -0
- data/lib/puppet/type/file/type.rb +0 -0
- data/lib/puppet/type/filebucket.rb +0 -0
- data/lib/puppet/type/group.rb +0 -8
- data/lib/puppet/type/host.rb +0 -0
- data/lib/puppet/type/mailalias.rb +0 -0
- data/lib/puppet/type/maillist.rb +0 -0
- data/lib/puppet/type/mount.rb +0 -0
- data/lib/puppet/type/package.rb +2 -2
- data/lib/puppet/type/port.rb +0 -0
- data/lib/puppet/type/schedule.rb +0 -0
- data/lib/puppet/type/selboolean.rb +31 -0
- data/lib/puppet/type/selmodule.rb +54 -0
- data/lib/puppet/type/ssh_authorized_key.rb +3 -3
- data/lib/puppet/type/sshkey.rb +0 -0
- data/lib/puppet/type/tidy.rb +0 -0
- data/lib/puppet/type/user.rb +153 -137
- data/lib/puppet/type/yumrepo.rb +18 -2
- data/lib/puppet/type/zone.rb +5 -1
- data/lib/puppet/util.rb +7 -7
- data/lib/puppet/util/filetype.rb +7 -0
- data/lib/puppet/util/instance_loader.rb +0 -0
- data/lib/puppet/util/ldap/connection.rb +11 -1
- data/lib/puppet/util/ldap/manager.rb +1 -1
- data/lib/puppet/util/loadedfile.rb +0 -0
- data/lib/puppet/util/log.rb +42 -43
- data/lib/puppet/util/metric.rb +23 -9
- data/lib/puppet/util/posix.rb +69 -18
- data/lib/puppet/util/selinux.rb +139 -0
- data/lib/puppet/util/settings.rb +5 -7
- data/lib/puppet/util/user_attr.rb +21 -0
- data/test/certmgr/ca.rb +0 -0
- data/test/certmgr/certmgr.rb +0 -0
- data/test/certmgr/inventory.rb +0 -0
- data/test/certmgr/support.rb +0 -0
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys1 +3 -0
- data/test/data/snippets/append.pp +11 -0
- data/test/data/snippets/arithmetic_expression.pp +8 -0
- data/test/data/snippets/arraytrailingcomma.pp +3 -0
- data/test/data/snippets/emptyifelse.pp +9 -0
- data/test/data/snippets/funccomma.pp +5 -0
- data/test/data/snippets/ifexpression.rb +6 -0
- data/test/data/snippets/subclass_name_duplication.pp +0 -0
- data/test/executables/filebucket.rb +0 -0
- data/test/executables/puppetbin.rb +0 -0
- data/test/executables/puppetca.rb +0 -0
- data/test/executables/puppetd.rb +0 -0
- data/test/executables/puppetmasterd.rb +0 -0
- data/test/executables/puppetmodule.rb +0 -0
- data/test/language/ast.rb +0 -0
- data/test/language/ast/casestatement.rb +0 -0
- data/test/language/ast/resource.rb +0 -0
- data/test/language/ast/resource_reference.rb +0 -28
- data/test/language/ast/selector.rb +0 -0
- data/test/language/ast/variable.rb +0 -0
- data/test/language/functions.rb +91 -12
- data/test/language/parser.rb +21 -0
- data/test/language/resource.rb +0 -0
- data/test/language/scope.rb +28 -0
- data/test/language/snippets.rb +14 -0
- data/test/language/transportable.rb +0 -0
- data/test/lib/puppettest.rb +0 -0
- data/test/lib/puppettest/reporttesting.rb +0 -2
- data/test/lib/puppettest/runnable_test.rb +2 -0
- data/test/lib/puppettest/support/resources.rb +0 -0
- data/test/network/authconfig.rb +0 -0
- data/test/network/authorization.rb +0 -0
- data/test/network/authstore.rb +0 -0
- data/test/network/client/ca.rb +0 -0
- data/test/network/client/client.rb +0 -0
- data/test/network/client/dipper.rb +0 -0
- data/test/network/client/master.rb +2 -6
- data/test/network/client/resource.rb +0 -0
- data/test/network/client_request.rb +0 -0
- data/test/network/daemon.rb +0 -0
- data/test/network/handler/bucket.rb +0 -0
- data/test/network/handler/ca.rb +0 -0
- data/test/network/handler/fileserver.rb +8 -0
- data/test/network/handler/handler.rb +0 -0
- data/test/network/handler/master.rb +3 -1
- data/test/network/handler/report.rb +0 -0
- data/test/network/handler/resource.rb +0 -0
- data/test/network/handler/runner.rb +0 -0
- data/test/network/rights.rb +0 -0
- data/test/network/server/mongrel_test.rb +0 -0
- data/test/network/server/webrick.rb +0 -0
- data/test/network/xmlrpc/client.rb +0 -0
- data/test/network/xmlrpc/processor.rb +0 -0
- data/test/network/xmlrpc/server.rb +0 -0
- data/test/network/xmlrpc/webrick_servlet.rb +0 -0
- data/test/other/dsl.rb +0 -0
- data/test/other/events.rb +0 -0
- data/test/other/overrides.rb +0 -0
- data/test/other/provider.rb +0 -0
- data/test/other/puppet.rb +0 -0
- data/test/other/relationships.rb +0 -0
- data/test/other/report.rb +2 -4
- data/test/other/transactions.rb +1 -1
- data/test/puppet/conffiles.rb +0 -0
- data/test/puppet/defaults.rb +0 -0
- data/test/puppet/errortest.rb +0 -0
- data/test/puppet/tc_suidmanager.rb +0 -0
- data/test/rails/ast.rb +0 -0
- data/test/rails/configuration.rb +0 -0
- data/test/rails/host.rb +0 -0
- data/test/rails/rails.rb +0 -0
- data/test/rails/railsparameter.rb +0 -0
- data/test/rails/railsresource.rb +0 -0
- data/test/ral/manager/attributes.rb +0 -0
- data/test/ral/manager/instances.rb +0 -0
- data/test/ral/manager/manager.rb +0 -0
- data/test/ral/manager/provider.rb +0 -0
- data/test/ral/manager/type.rb +0 -0
- data/test/ral/providers/cron/crontab.rb +0 -0
- data/test/ral/providers/group.rb +14 -13
- data/test/ral/providers/host/netinfo.rb +0 -0
- data/test/ral/providers/host/parsed.rb +0 -0
- data/test/ral/providers/mailalias/aliases.rb +0 -0
- data/test/ral/providers/mount/netinfo.rb +0 -0
- data/test/ral/providers/nameservice.rb +0 -0
- data/test/ral/providers/package.rb +0 -31
- data/test/ral/providers/package/aptitude.rb +1 -2
- data/test/ral/providers/package/aptrpm.rb +2 -2
- data/test/ral/providers/parsedfile.rb +0 -0
- data/test/ral/providers/port/parsed.rb +0 -0
- data/test/ral/providers/provider.rb +0 -0
- data/test/ral/providers/service/base.rb +0 -0
- data/test/ral/providers/service/debian.rb +0 -0
- data/test/ral/providers/sshkey/parsed.rb +0 -0
- data/test/ral/providers/user.rb +8 -8
- data/test/ral/providers/user/useradd.rb +0 -0
- data/test/ral/type/basic.rb +0 -0
- data/test/ral/type/cron.rb +0 -0
- data/test/ral/type/exec.rb +0 -0
- data/test/ral/type/file.rb +0 -0
- data/test/ral/type/file/target.rb +0 -0
- data/test/ral/type/filebucket.rb +0 -0
- data/test/ral/type/fileignoresource.rb +0 -0
- data/test/ral/type/filesources.rb +1 -3
- data/test/ral/type/group.rb +0 -0
- data/test/ral/type/host.rb +0 -0
- data/test/ral/type/mailalias.rb +1 -2
- data/test/ral/type/parameter.rb +0 -0
- data/test/ral/type/port.rb +0 -0
- data/test/ral/type/property.rb +0 -0
- data/test/ral/type/resources.rb +0 -0
- data/test/ral/type/service.rb +0 -0
- data/test/ral/type/sshkey.rb +0 -0
- data/test/ral/type/tidy.rb +0 -0
- data/test/ral/type/user.rb +0 -50
- data/test/ral/type/yumrepo.rb +7 -1
- data/test/ral/type/zone.rb +0 -0
- data/test/test +0 -0
- data/test/util/autoload.rb +0 -0
- data/test/util/classgen.rb +0 -0
- data/test/util/execution.rb +0 -0
- data/test/util/features.rb +0 -0
- data/test/util/fileparsing.rb +0 -0
- data/test/util/filetype.rb +0 -0
- data/test/util/inifile.rb +0 -0
- data/test/util/instance_loader.rb +0 -0
- data/test/util/log.rb +0 -59
- data/test/util/metrics.rb +0 -0
- data/test/util/package.rb +0 -0
- data/test/util/pidlock.rb +0 -0
- data/test/util/settings.rb +0 -0
- data/test/util/storage.rb +0 -0
- data/test/util/subclass_loader.rb +0 -0
- data/test/util/utiltest.rb +0 -0
- metadata +54 -19
- data/lib/puppet/metatype/attributes.rb +0 -685
- data/lib/puppet/metatype/closure.rb +0 -49
- data/lib/puppet/metatype/container.rb +0 -50
- data/lib/puppet/metatype/evaluation.rb +0 -163
- data/lib/puppet/metatype/instances.rb +0 -305
- data/lib/puppet/metatype/metaparams.rb +0 -423
- data/lib/puppet/metatype/providers.rb +0 -247
- data/lib/puppet/metatype/relationships.rb +0 -115
- data/lib/puppet/metatype/schedules.rb +0 -33
- data/lib/puppet/metatype/tags.rb +0 -38
- data/lib/puppet/util/plist.rb +0 -23
- data/lib/puppet/util/plist/generator.rb +0 -225
- data/lib/puppet/util/plist/parser.rb +0 -226
- data/test/ral/providers/package/apt.rb +0 -169
- data/test/ral/providers/package/dpkg.rb +0 -64
- data/test/util/posixtest.rb +0 -169
File without changes
|
File without changes
|
data/examples/etc/init.d/sleeper
CHANGED
File without changes
|
data/examples/mac_dscl.pp
CHANGED
File without changes
|
data/examples/mac_dscl_revert.pp
CHANGED
File without changes
|
data/examples/mac_netinfo.pp
CHANGED
File without changes
|
data/examples/mac_pkgdmg.pp
CHANGED
File without changes
|
data/ext/bin/sleeper
CHANGED
File without changes
|
data/ext/module_puppet
CHANGED
File without changes
|
data/ext/nagios/check_puppet.rb
CHANGED
File without changes
|
@@ -0,0 +1,63 @@
|
|
1
|
+
|
2
|
+
PUPPETMASTER INSIDE APACHE & PASSENGER
|
3
|
+
======================================
|
4
|
+
|
5
|
+
This is about running a puppetmaster inside Apache.
|
6
|
+
|
7
|
+
Please also see the docs at http://reductivelabs.com/trac/puppet/wiki/UsingPassenger
|
8
|
+
for further information.
|
9
|
+
|
10
|
+
|
11
|
+
WHAT IS IT?
|
12
|
+
===========
|
13
|
+
|
14
|
+
Passenger [1] (AKA mod_rails or mod_rack) is an Apache 2.x Extension for
|
15
|
+
serving Rails or Rack applications.
|
16
|
+
|
17
|
+
This extension allows running a puppetmasterd as a Rack application;
|
18
|
+
it has only been tested with Passenger.
|
19
|
+
|
20
|
+
|
21
|
+
SHORT INSTALLATION INSTRUCTIONS
|
22
|
+
===============================
|
23
|
+
|
24
|
+
Make sure puppetmasterd ran at least once, so the SSL certificates
|
25
|
+
got set up.
|
26
|
+
|
27
|
+
Install Rack:
|
28
|
+
gem install -v 0.4.0 rack
|
29
|
+
|
30
|
+
Install Apache and Passenger:
|
31
|
+
apt-get install apache2
|
32
|
+
gem install passenger
|
33
|
+
passenger-install-apache2-module
|
34
|
+
(See the Passenger installation instructions [2] for details.)
|
35
|
+
|
36
|
+
Enable Apache modules:
|
37
|
+
a2enmod ssl
|
38
|
+
a2enmod headers
|
39
|
+
|
40
|
+
Configure Apache:
|
41
|
+
cp apache2.conf /etc/apache2/conf.d/puppetmasterd
|
42
|
+
vim /etc/apache2/conf.d/puppetmasterd (replace the server hostnames)
|
43
|
+
|
44
|
+
Install the rack application [3]:
|
45
|
+
mkdir -p /usr/share/puppet/rack/puppetmasterd
|
46
|
+
mkdir /usr/share/puppet/rack/puppetmasterd/public /usr/share/puppet/rack/puppetmasterd/tmp
|
47
|
+
cp config.ru /usr/share/puppet/rack/puppetmasterd
|
48
|
+
chown puppet /usr/share/puppet/rack/puppetmasterd/config.ru
|
49
|
+
|
50
|
+
Go:
|
51
|
+
/etc/init.d/apache2 restart
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
[1] http://www.modrails.com/
|
56
|
+
|
57
|
+
[2] http://www.modrails.com/install.html
|
58
|
+
|
59
|
+
[3] Passenger will not let applications run as root or the Apache user,
|
60
|
+
instead an implicit setuid will be done, to the user whom owns
|
61
|
+
config.ru. Therefore, config.ru shall be owned by the puppet user.
|
62
|
+
|
63
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Listen 8140
|
2
|
+
<VirtualHost *:8140>
|
3
|
+
SSLEngine on
|
4
|
+
SSLCipherSuite SSLv2:-LOW:-EXPORT:RC4+RSA
|
5
|
+
SSLCertificateFile /var/lib/puppet/ssl/certs/puppet-server.inqnet.at.pem
|
6
|
+
SSLCertificateKeyFile /var/lib/puppet/ssl/private_keys/puppet-server.inqnet.at.pem
|
7
|
+
SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem
|
8
|
+
SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem
|
9
|
+
# If Apache complains about invalid signatures on the CRL, you can try disabling
|
10
|
+
# CRL checking by commenting the next line.
|
11
|
+
SSLCARevocationFile /var/lib/puppet/ssl/ca/ca_crl.pem
|
12
|
+
SSLVerifyClient optional
|
13
|
+
SSLVerifyDepth 1
|
14
|
+
SSLOptions +StdEnvVars
|
15
|
+
|
16
|
+
# The following client headers allow the same configuration to work with Pound.
|
17
|
+
RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
|
18
|
+
RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
|
19
|
+
RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e
|
20
|
+
|
21
|
+
RackAutoDetect On
|
22
|
+
DocumentRoot /usr/share/puppet/rack/puppetmasterd/public/
|
23
|
+
<Directory /usr/share/puppet/rack/puppetmasterd/>
|
24
|
+
Options None
|
25
|
+
AllowOverride None
|
26
|
+
Order allow,deny
|
27
|
+
allow from all
|
28
|
+
</Directory>
|
29
|
+
</VirtualHost>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Author: Christian Hofstaedtler <hofstaedtler@inqnet.at>
|
2
|
+
# Copyright (c) 2007 Luke Kanies, 2008 Christian Hofstaedtler
|
3
|
+
#
|
4
|
+
# This file is mostly based on puppetmasterd, which is part of
|
5
|
+
# the standard puppet distribution.
|
6
|
+
|
7
|
+
require 'rack'
|
8
|
+
require 'puppet'
|
9
|
+
require 'puppet/network/http_server/rack'
|
10
|
+
|
11
|
+
# startup code from bin/puppetmasterd
|
12
|
+
Puppet.parse_config
|
13
|
+
Puppet::Util::Log.level = :info
|
14
|
+
Puppet::Util::Log.newdestination(:syslog)
|
15
|
+
# A temporary solution, to at least make the master work for now.
|
16
|
+
Puppet::Node::Facts.terminus_class = :yaml
|
17
|
+
# Cache our nodes in yaml. Currently not configurable.
|
18
|
+
Puppet::Node.cache_class = :yaml
|
19
|
+
|
20
|
+
# The list of handlers running inside this puppetmaster
|
21
|
+
handlers = {
|
22
|
+
:Status => {},
|
23
|
+
:FileServer => {},
|
24
|
+
:Master => {},
|
25
|
+
:CA => {},
|
26
|
+
:FileBucket => {},
|
27
|
+
:Report => {}
|
28
|
+
}
|
29
|
+
|
30
|
+
# Fire up the Rack-Server instance
|
31
|
+
server = Puppet::Network::HTTPServer::Rack.new(handlers)
|
32
|
+
|
33
|
+
# prepare the rack app
|
34
|
+
app = proc do |env|
|
35
|
+
server.process(env)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Go.
|
39
|
+
run app
|
40
|
+
|
data/ext/puppet-test
CHANGED
File without changes
|
data/ext/puppetlast
CHANGED
@@ -1,40 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# Puppetlast, a script to output the last check-in time of nodes. Also outputs the cached configuration state, if expired or not.
|
2
3
|
#
|
3
|
-
#
|
4
|
-
# AJ Christensen <aj@junglist.gen.nz>
|
4
|
+
# AJ "Fujin" Christensen <aj@junglist.gen.nz>
|
5
5
|
#
|
6
|
-
|
7
6
|
require 'puppet'
|
8
|
-
require 'puppet/defaults'
|
9
|
-
require 'yaml'
|
10
7
|
|
11
8
|
Puppet[:config] = "/etc/puppet/puppet.conf"
|
12
9
|
Puppet.parse_config
|
10
|
+
Puppet[:name] = "puppetmasterd"
|
11
|
+
Puppet::Node::Facts.terminus_class = :yaml
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
nodes = {}
|
17
|
-
|
18
|
-
yfdir = Puppet.settings.value(:vardir) + "/yaml/facts"
|
19
|
-
|
20
|
-
if yfdir
|
21
|
-
begin
|
22
|
-
Dir.chdir(yfdir) do
|
23
|
-
Dir.glob("*.yaml").each do |yaml|
|
24
|
-
data = YAML.load_file(yaml)
|
25
|
-
t = Time.now
|
26
|
-
age = t - data.version
|
27
|
-
nodes[data.name] = age.to_i
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
nodes.sort.each do |node,age|
|
32
|
-
minutes = age / 60 + 0.5
|
33
|
-
print minutes.floor.to_s + ' minutes ago: ' + node + "\n"
|
34
|
-
end
|
35
|
-
|
36
|
-
rescue
|
37
|
-
print 'error: ' + $! + "\n"
|
38
|
-
end
|
39
|
-
|
13
|
+
Puppet::Node::Facts.search("*").sort { |a,b| a.name <=> b.name }.each do |node|
|
14
|
+
puts "#{node.name} #{node.expired? ? 'cached expired, ' : ''}checked in #{((Time.now - node.values[:_timestamp]) / 60).floor} minutes ago"
|
40
15
|
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Script to clean up stored configs for (a) given host(s)
|
4
|
+
#
|
5
|
+
# Credits:
|
6
|
+
# Script was taken from http://reductivelabs.com/trac/puppet/attachment/wiki/UsingStoredConfiguration/kill_node_in_storedconfigs_db.rb
|
7
|
+
# which haven been initially posted by James Turnbull
|
8
|
+
# duritong adapted and improved the script a bit.
|
9
|
+
|
10
|
+
require 'getoptlong'
|
11
|
+
config = '/etc/puppet/puppet.conf'
|
12
|
+
|
13
|
+
def printusage(error_code)
|
14
|
+
puts "Usage: #{$0} [ list of hostnames as stored in hosts table ]"
|
15
|
+
puts "\n Options:"
|
16
|
+
puts "--config <puppet config file>"
|
17
|
+
exit(error_code)
|
18
|
+
end
|
19
|
+
|
20
|
+
opts = GetoptLong.new(
|
21
|
+
[ "--config", "-c", GetoptLong::REQUIRED_ARGUMENT ],
|
22
|
+
[ "--help", "-h", GetoptLong::NO_ARGUMENT ],
|
23
|
+
[ "--usage", "-u", GetoptLong::NO_ARGUMENT ],
|
24
|
+
[ "--version", "-v", GetoptLong::NO_ARGUMENT ]
|
25
|
+
)
|
26
|
+
|
27
|
+
begin
|
28
|
+
opts.each do |opt, arg|
|
29
|
+
case opt
|
30
|
+
when "--config"
|
31
|
+
config = arg
|
32
|
+
|
33
|
+
when "--help"
|
34
|
+
printusage(0)
|
35
|
+
|
36
|
+
when "--usage"
|
37
|
+
printusage(0)
|
38
|
+
|
39
|
+
when "--version"
|
40
|
+
puts "%s" % Puppet.version
|
41
|
+
exit
|
42
|
+
end
|
43
|
+
end
|
44
|
+
rescue GetoptLong::InvalidOption => detail
|
45
|
+
$stderr.puts "Try '#{$0} --help'"
|
46
|
+
exit(1)
|
47
|
+
end
|
48
|
+
|
49
|
+
printusage(1) unless ARGV.size > 0
|
50
|
+
|
51
|
+
require 'puppet/rails'
|
52
|
+
Puppet[:config] = config
|
53
|
+
Puppet.parse_config
|
54
|
+
pm_conf = Puppet.settings.instance_variable_get(:@values)[:puppetmasterd]
|
55
|
+
|
56
|
+
adapter = pm_conf[:dbadapter]
|
57
|
+
args = {:adapter => adapter, :log_level => pm_conf[:rails_loglevel]}
|
58
|
+
|
59
|
+
case adapter
|
60
|
+
when "sqlite3":
|
61
|
+
args[:dbfile] = pm_conf[:dblocation]
|
62
|
+
when "mysql", "postgresql":
|
63
|
+
args[:host] = pm_conf[:dbserver] unless pm_conf[:dbserver].to_s.empty?
|
64
|
+
args[:username] = pm_conf[:dbuser] unless pm_conf[:dbuser].to_s.empty?
|
65
|
+
args[:password] = pm_conf[:dbpassword] unless pm_conf[:dbpassword].to_s.empty?
|
66
|
+
args[:database] = pm_conf[:dbname] unless pm_conf[:dbname].to_s.empty?
|
67
|
+
socket = pm_conf[:dbsocket]
|
68
|
+
args[:socket] = socket unless socket.to_s.empty?
|
69
|
+
else
|
70
|
+
raise ArgumentError, "Invalid db adapter %s" % adapter
|
71
|
+
end
|
72
|
+
|
73
|
+
args[:database] = "puppet" unless not args[:database].to_s.empty?
|
74
|
+
|
75
|
+
ActiveRecord::Base.establish_connection(args)
|
76
|
+
|
77
|
+
ARGV.each { |hostname|
|
78
|
+
if @host = Puppet::Rails::Host.find_by_name(hostname.strip)
|
79
|
+
print "Killing #{hostname}..."
|
80
|
+
$stdout.flush
|
81
|
+
@host.destroy
|
82
|
+
puts "done."
|
83
|
+
else
|
84
|
+
puts "Can't find host #{hostname}."
|
85
|
+
end
|
86
|
+
}
|
87
|
+
exit 0
|
data/install.rb
CHANGED
@@ -60,6 +60,7 @@ rescue
|
|
60
60
|
end
|
61
61
|
|
62
62
|
PREREQS = %w{openssl facter xmlrpc/client xmlrpc/server cgi}
|
63
|
+
MIN_FACTER_VERSION = 1.5
|
63
64
|
|
64
65
|
InstallOptions = OpenStruct.new
|
65
66
|
|
@@ -102,7 +103,7 @@ def do_man(man, strip = 'man/')
|
|
102
103
|
omf = File.join(InstallOptions.man_dir, mf.gsub(/#{strip}/, ''))
|
103
104
|
om = File.dirname(omf)
|
104
105
|
File.makedirs(om, true)
|
105
|
-
File.chmod(
|
106
|
+
File.chmod(0755, om)
|
106
107
|
File.install(mf, omf, 0644, true)
|
107
108
|
gzip = %x{which gzip}
|
108
109
|
gzip.chomp!
|
@@ -115,6 +116,15 @@ def check_prereqs
|
|
115
116
|
PREREQS.each { |pre|
|
116
117
|
begin
|
117
118
|
require pre
|
119
|
+
if pre == "facter"
|
120
|
+
# to_f isn't quite exact for strings like "1.5.1" but is good
|
121
|
+
# enough for this purpose.
|
122
|
+
facter_version = Facter.version.to_f
|
123
|
+
if facter_version < MIN_FACTER_VERSION
|
124
|
+
puts "Facter version: %s; minimum required: %s; cannot install" % [facter_version, MIN_FACTER_VERSION]
|
125
|
+
exit -1
|
126
|
+
end
|
127
|
+
end
|
118
128
|
rescue LoadError
|
119
129
|
puts "Could not load %s; cannot install" % pre
|
120
130
|
exit -1
|
@@ -166,6 +176,21 @@ def prepare_installation
|
|
166
176
|
opts.on('--[no-]tests', 'Prevents the execution of unit tests.', 'Default on.') do |ontest|
|
167
177
|
InstallOptions.tests = ontest
|
168
178
|
end
|
179
|
+
opts.on('--destdir[=OPTIONAL]', 'Installation prefix for all targets', 'Default essentially /') do |destdir|
|
180
|
+
InstallOptions.destdir = destdir
|
181
|
+
end
|
182
|
+
opts.on('--bindir[=OPTIONAL]', 'Installation directory for binaries', 'overrides Config::CONFIG["bindir"]') do |bindir|
|
183
|
+
InstallOptions.bindir = bindir
|
184
|
+
end
|
185
|
+
opts.on('--sbindir[=OPTIONAL]', 'Installation directory for system binaries', 'overrides Config::CONFIG["sbindir"]') do |sbindir|
|
186
|
+
InstallOptions.sbindir = sbindir
|
187
|
+
end
|
188
|
+
opts.on('--sitelibdir[=OPTIONAL]', 'Installation directory for libraries', 'overrides Config::CONFIG["sitelibdir"]') do |sitelibdir|
|
189
|
+
InstallOptions.sitelibdir = sitelibdir
|
190
|
+
end
|
191
|
+
opts.on('--mandir[=OPTIONAL]', 'Installation directory for man pages', 'overrides Config::CONFIG["mandir"]') do |mandir|
|
192
|
+
InstallOptions.mandir = mandir
|
193
|
+
end
|
169
194
|
opts.on('--quick', 'Performs a quick installation. Only the', 'installation is done.') do |quick|
|
170
195
|
InstallOptions.rdoc = false
|
171
196
|
InstallOptions.ri = false
|
@@ -190,16 +215,6 @@ def prepare_installation
|
|
190
215
|
version = [Config::CONFIG["MAJOR"], Config::CONFIG["MINOR"]].join(".")
|
191
216
|
libdir = File.join(Config::CONFIG["libdir"], "ruby", version)
|
192
217
|
|
193
|
-
sitelibdir = Config::CONFIG["sitelibdir"]
|
194
|
-
if sitelibdir.nil?
|
195
|
-
sitelibdir = $:.find { |x| x =~ /site_ruby/ }
|
196
|
-
if sitelibdir.nil?
|
197
|
-
sitelibdir = File.join(libdir, "site_ruby")
|
198
|
-
elsif sitelibdir !~ Regexp.quote(version)
|
199
|
-
sitelibdir = File.join(sitelibdir, version)
|
200
|
-
end
|
201
|
-
end
|
202
|
-
|
203
218
|
# Mac OS X 10.5 declares bindir and sbindir as
|
204
219
|
# /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin
|
205
220
|
# /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/sbin
|
@@ -208,25 +223,65 @@ def prepare_installation
|
|
208
223
|
Config::CONFIG['bindir'] = "/usr/bin"
|
209
224
|
Config::CONFIG['sbindir'] = "/usr/sbin"
|
210
225
|
end
|
226
|
+
|
227
|
+
if not InstallOptions.bindir.nil?
|
228
|
+
bindir = InstallOptions.bindir
|
229
|
+
else
|
230
|
+
bindir = Config::CONFIG['bindir']
|
231
|
+
end
|
232
|
+
|
233
|
+
if not InstallOptions.sbindir.nil?
|
234
|
+
sbindir = InstallOptions.sbindir
|
235
|
+
else
|
236
|
+
sbindir = Config::CONFIG['sbindir']
|
237
|
+
end
|
238
|
+
|
239
|
+
if not InstallOptions.sitelibdir.nil?
|
240
|
+
sitelibdir = InstallOptions.sitelibdir
|
241
|
+
else
|
242
|
+
sitelibdir = Config::CONFIG["sitelibdir"]
|
243
|
+
if sitelibdir.nil?
|
244
|
+
sitelibdir = $:.find { |x| x =~ /site_ruby/ }
|
245
|
+
if sitelibdir.nil?
|
246
|
+
sitelibdir = File.join(libdir, "site_ruby")
|
247
|
+
elsif sitelibdir !~ Regexp.quote(version)
|
248
|
+
sitelibdir = File.join(sitelibdir, version)
|
249
|
+
end
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
if not InstallOptions.mandir.nil?
|
254
|
+
mandir = InstallOptions.mandir
|
255
|
+
else
|
256
|
+
mandir = Config::CONFIG['mandir']
|
257
|
+
end
|
211
258
|
|
259
|
+
# To be deprecated once people move over to using --destdir option
|
212
260
|
if (destdir = ENV['DESTDIR'])
|
213
|
-
bindir = "#{destdir}#{
|
214
|
-
sbindir = "#{destdir}#{
|
215
|
-
mandir = "#{destdir}#{
|
261
|
+
bindir = "#{destdir}#{bindir}"
|
262
|
+
sbindir = "#{destdir}#{sbindir}"
|
263
|
+
mandir = "#{destdir}#{mandir}"
|
264
|
+
sitelibdir = "#{destdir}#{sitelibdir}"
|
265
|
+
|
266
|
+
FileUtils.makedirs(bindir)
|
267
|
+
FileUtils.makedirs(sbindir)
|
268
|
+
FileUtils.makedirs(mandir)
|
269
|
+
FileUtils.makedirs(sitelibdir)
|
270
|
+
# This is the new way forward
|
271
|
+
elsif (destdir = InstallOptions.destdir)
|
272
|
+
bindir = "#{destdir}#{bindir}"
|
273
|
+
sbindir = "#{destdir}#{sbindir}"
|
274
|
+
mandir = "#{destdir}#{mandir}"
|
216
275
|
sitelibdir = "#{destdir}#{sitelibdir}"
|
217
|
-
tmpdirs << bindir
|
218
276
|
|
219
277
|
FileUtils.makedirs(bindir)
|
220
278
|
FileUtils.makedirs(sbindir)
|
221
279
|
FileUtils.makedirs(mandir)
|
222
280
|
FileUtils.makedirs(sitelibdir)
|
223
|
-
else
|
224
|
-
bindir = Config::CONFIG['bindir']
|
225
|
-
sbindir = Config::CONFIG['sbindir']
|
226
|
-
mandir = Config::CONFIG['mandir']
|
227
|
-
tmpdirs << Config::CONFIG['bindir']
|
228
281
|
end
|
229
282
|
|
283
|
+
tmpdirs << bindir
|
284
|
+
|
230
285
|
InstallOptions.tmp_dirs = tmpdirs.compact
|
231
286
|
InstallOptions.site_dir = sitelibdir
|
232
287
|
InstallOptions.bin_dir = bindir
|