puppet-parse 0.0.1 → 0.0.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.
- data/.travis.yml +0 -5
- data/README.md +1 -3
- data/lib/puppet-parse/version.rb +1 -1
- data/lib/puppet-parse.rb +2 -2
- data/lib/vendor/puppet/agent/locker.rb +46 -0
- data/lib/vendor/puppet/agent.rb +99 -0
- data/lib/vendor/puppet/application/agent.rb +489 -0
- data/lib/vendor/puppet/application/apply.rb +266 -0
- data/lib/vendor/puppet/application/ca.rb +5 -0
- data/lib/vendor/puppet/application/catalog.rb +4 -0
- data/lib/vendor/puppet/application/cert.rb +240 -0
- data/lib/vendor/puppet/application/certificate.rb +13 -0
- data/lib/vendor/puppet/application/certificate_request.rb +4 -0
- data/lib/vendor/puppet/application/certificate_revocation_list.rb +4 -0
- data/lib/vendor/puppet/application/config.rb +4 -0
- data/lib/vendor/puppet/application/describe.rb +256 -0
- data/lib/vendor/puppet/application/device.rb +242 -0
- data/lib/vendor/puppet/application/doc.rb +275 -0
- data/lib/vendor/puppet/application/face_base.rb +264 -0
- data/lib/vendor/puppet/application/facts.rb +4 -0
- data/lib/vendor/puppet/application/file.rb +4 -0
- data/lib/vendor/puppet/application/filebucket.rb +191 -0
- data/lib/vendor/puppet/application/help.rb +4 -0
- data/lib/vendor/puppet/application/indirection_base.rb +4 -0
- data/lib/vendor/puppet/application/inspect.rb +191 -0
- data/lib/vendor/puppet/application/instrumentation_data.rb +4 -0
- data/lib/vendor/puppet/application/instrumentation_listener.rb +4 -0
- data/lib/vendor/puppet/application/instrumentation_probe.rb +4 -0
- data/lib/vendor/puppet/application/key.rb +4 -0
- data/lib/vendor/puppet/application/kick.rb +351 -0
- data/lib/vendor/puppet/application/man.rb +4 -0
- data/lib/vendor/puppet/application/master.rb +263 -0
- data/lib/vendor/puppet/application/module.rb +11 -0
- data/lib/vendor/puppet/application/node.rb +4 -0
- data/lib/vendor/puppet/application/parser.rb +5 -0
- data/lib/vendor/puppet/application/plugin.rb +3 -0
- data/lib/vendor/puppet/application/queue.rb +161 -0
- data/lib/vendor/puppet/application/report.rb +4 -0
- data/lib/vendor/puppet/application/resource.rb +237 -0
- data/lib/vendor/puppet/application/resource_type.rb +4 -0
- data/lib/vendor/puppet/application/secret_agent.rb +6 -0
- data/lib/vendor/puppet/application/status.rb +4 -0
- data/lib/vendor/puppet/application.rb +421 -0
- data/lib/vendor/puppet/configurer/downloader.rb +86 -0
- data/lib/vendor/puppet/configurer/fact_handler.rb +56 -0
- data/lib/vendor/puppet/configurer/plugin_handler.rb +37 -0
- data/lib/vendor/puppet/configurer.rb +249 -0
- data/lib/vendor/puppet/daemon.rb +200 -0
- data/lib/vendor/puppet/defaults.rb +970 -0
- data/lib/vendor/puppet/dsl/resource_api.rb +120 -0
- data/lib/vendor/puppet/dsl/resource_type_api.rb +34 -0
- data/lib/vendor/puppet/dsl.rb +7 -0
- data/lib/vendor/puppet/error.rb +43 -0
- data/lib/vendor/puppet/external/base64.rb +19 -0
- data/lib/vendor/puppet/external/dot.rb +326 -0
- data/lib/vendor/puppet/external/lock.rb +63 -0
- data/lib/vendor/puppet/external/nagios/base.rb +472 -0
- data/lib/vendor/puppet/external/nagios/grammar.ry +185 -0
- data/lib/vendor/puppet/external/nagios/makefile +9 -0
- data/lib/vendor/puppet/external/nagios/parser.rb +775 -0
- data/lib/vendor/puppet/external/nagios.rb +48 -0
- data/lib/vendor/puppet/external/pson/common.rb +370 -0
- data/lib/vendor/puppet/external/pson/pure/generator.rb +401 -0
- data/lib/vendor/puppet/external/pson/pure/parser.rb +264 -0
- data/lib/vendor/puppet/external/pson/pure.rb +77 -0
- data/lib/vendor/puppet/external/pson/version.rb +8 -0
- data/lib/vendor/puppet/face/ca.rb +242 -0
- data/lib/vendor/puppet/face/catalog/select.rb +49 -0
- data/lib/vendor/puppet/face/catalog.rb +131 -0
- data/lib/vendor/puppet/face/certificate.rb +148 -0
- data/lib/vendor/puppet/face/certificate_request.rb +53 -0
- data/lib/vendor/puppet/face/certificate_revocation_list.rb +58 -0
- data/lib/vendor/puppet/face/config.rb +45 -0
- data/lib/vendor/puppet/face/facts.rb +81 -0
- data/lib/vendor/puppet/face/file/download.rb +54 -0
- data/lib/vendor/puppet/face/file/store.rb +21 -0
- data/lib/vendor/puppet/face/file.rb +47 -0
- data/lib/vendor/puppet/face/help/action.erb +53 -0
- data/lib/vendor/puppet/face/help/face.erb +79 -0
- data/lib/vendor/puppet/face/help/global.erb +19 -0
- data/lib/vendor/puppet/face/help/man.erb +136 -0
- data/lib/vendor/puppet/face/help.rb +131 -0
- data/lib/vendor/puppet/face/instrumentation_data.rb +28 -0
- data/lib/vendor/puppet/face/instrumentation_listener.rb +96 -0
- data/lib/vendor/puppet/face/instrumentation_probe.rb +77 -0
- data/lib/vendor/puppet/face/key.rb +15 -0
- data/lib/vendor/puppet/face/man.rb +93 -0
- data/lib/vendor/puppet/face/module/build.rb +37 -0
- data/lib/vendor/puppet/face/module/changes.rb +38 -0
- data/lib/vendor/puppet/face/module/generate.rb +42 -0
- data/lib/vendor/puppet/face/module/install.rb +174 -0
- data/lib/vendor/puppet/face/module/list.rb +285 -0
- data/lib/vendor/puppet/face/module/search.rb +88 -0
- data/lib/vendor/puppet/face/module/uninstall.rb +86 -0
- data/lib/vendor/puppet/face/module/upgrade.rb +84 -0
- data/lib/vendor/puppet/face/module.rb +17 -0
- data/lib/vendor/puppet/face/node/clean.rb +156 -0
- data/lib/vendor/puppet/face/node.rb +43 -0
- data/lib/vendor/puppet/face/parser.rb +51 -0
- data/lib/vendor/puppet/face/plugin.rb +55 -0
- data/lib/vendor/puppet/face/report.rb +56 -0
- data/lib/vendor/puppet/face/resource.rb +53 -0
- data/lib/vendor/puppet/face/resource_type.rb +81 -0
- data/lib/vendor/puppet/face/secret_agent.rb +54 -0
- data/lib/vendor/puppet/face/status.rb +53 -0
- data/lib/vendor/puppet/face.rb +12 -0
- data/lib/vendor/puppet/feature/base.rb +67 -0
- data/lib/vendor/puppet/feature/eventlog.rb +6 -0
- data/lib/vendor/puppet/feature/pson.rb +6 -0
- data/lib/vendor/puppet/feature/rack.rb +24 -0
- data/lib/vendor/puppet/feature/rails.rb +30 -0
- data/lib/vendor/puppet/feature/rubygems.rb +3 -0
- data/lib/vendor/puppet/feature/selinux.rb +3 -0
- data/lib/vendor/puppet/feature/ssh.rb +4 -0
- data/lib/vendor/puppet/feature/stomp.rb +6 -0
- data/lib/vendor/puppet/feature/zlib.rb +6 -0
- data/lib/vendor/puppet/file_bucket/dipper.rb +107 -0
- data/lib/vendor/puppet/file_bucket/file.rb +55 -0
- data/lib/vendor/puppet/file_bucket.rb +4 -0
- data/lib/vendor/puppet/file_collection/lookup.rb +10 -0
- data/lib/vendor/puppet/file_collection.rb +19 -0
- data/lib/vendor/puppet/file_serving/base.rb +88 -0
- data/lib/vendor/puppet/file_serving/configuration/parser.rb +115 -0
- data/lib/vendor/puppet/file_serving/configuration.rb +122 -0
- data/lib/vendor/puppet/file_serving/content.rb +45 -0
- data/lib/vendor/puppet/file_serving/fileset.rb +173 -0
- data/lib/vendor/puppet/file_serving/metadata.rb +155 -0
- data/lib/vendor/puppet/file_serving/mount/file.rb +121 -0
- data/lib/vendor/puppet/file_serving/mount/modules.rb +24 -0
- data/lib/vendor/puppet/file_serving/mount/plugins.rb +26 -0
- data/lib/vendor/puppet/file_serving/mount.rb +39 -0
- data/lib/vendor/puppet/file_serving/terminus_helper.rb +21 -0
- data/lib/vendor/puppet/file_serving/terminus_selector.rb +28 -0
- data/lib/vendor/puppet/file_serving.rb +3 -0
- data/lib/vendor/puppet/forge/cache.rb +55 -0
- data/lib/vendor/puppet/forge/repository.rb +102 -0
- data/lib/vendor/puppet/forge.rb +98 -0
- data/lib/vendor/puppet/indirector/active_record.rb +28 -0
- data/lib/vendor/puppet/indirector/catalog/active_record.rb +41 -0
- data/lib/vendor/puppet/indirector/catalog/compiler.rb +153 -0
- data/lib/vendor/puppet/indirector/catalog/queue.rb +5 -0
- data/lib/vendor/puppet/indirector/catalog/rest.rb +6 -0
- data/lib/vendor/puppet/indirector/catalog/static_compiler.rb +136 -0
- data/lib/vendor/puppet/indirector/catalog/store_configs.rb +5 -0
- data/lib/vendor/puppet/indirector/catalog/yaml.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate/ca.rb +9 -0
- data/lib/vendor/puppet/indirector/certificate/disabled_ca.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate/file.rb +9 -0
- data/lib/vendor/puppet/indirector/certificate/rest.rb +15 -0
- data/lib/vendor/puppet/indirector/certificate_request/ca.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate_request/file.rb +8 -0
- data/lib/vendor/puppet/indirector/certificate_request/rest.rb +9 -0
- data/lib/vendor/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
- data/lib/vendor/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate_revocation_list/file.rb +8 -0
- data/lib/vendor/puppet/indirector/certificate_revocation_list/rest.rb +9 -0
- data/lib/vendor/puppet/indirector/certificate_status/file.rb +82 -0
- data/lib/vendor/puppet/indirector/certificate_status/rest.rb +10 -0
- data/lib/vendor/puppet/indirector/certificate_status.rb +4 -0
- data/lib/vendor/puppet/indirector/code.rb +6 -0
- data/lib/vendor/puppet/indirector/couch.rb +78 -0
- data/lib/vendor/puppet/indirector/direct_file_server.rb +19 -0
- data/lib/vendor/puppet/indirector/envelope.rb +11 -0
- data/lib/vendor/puppet/indirector/exec.rb +48 -0
- data/lib/vendor/puppet/indirector/face.rb +137 -0
- data/lib/vendor/puppet/indirector/facts/active_record.rb +36 -0
- data/lib/vendor/puppet/indirector/facts/couch.rb +31 -0
- data/lib/vendor/puppet/indirector/facts/facter.rb +96 -0
- data/lib/vendor/puppet/indirector/facts/inventory_active_record.rb +100 -0
- data/lib/vendor/puppet/indirector/facts/inventory_service.rb +20 -0
- data/lib/vendor/puppet/indirector/facts/memory.rb +9 -0
- data/lib/vendor/puppet/indirector/facts/network_device.rb +25 -0
- data/lib/vendor/puppet/indirector/facts/rest.rb +8 -0
- data/lib/vendor/puppet/indirector/facts/store_configs.rb +5 -0
- data/lib/vendor/puppet/indirector/facts/yaml.rb +82 -0
- data/lib/vendor/puppet/indirector/file_bucket_file/file.rb +136 -0
- data/lib/vendor/puppet/indirector/file_bucket_file/rest.rb +8 -0
- data/lib/vendor/puppet/indirector/file_bucket_file/selector.rb +49 -0
- data/lib/vendor/puppet/indirector/file_content/file.rb +7 -0
- data/lib/vendor/puppet/indirector/file_content/file_server.rb +7 -0
- data/lib/vendor/puppet/indirector/file_content/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/file_content/selector.rb +30 -0
- data/lib/vendor/puppet/indirector/file_content.rb +5 -0
- data/lib/vendor/puppet/indirector/file_metadata/file.rb +22 -0
- data/lib/vendor/puppet/indirector/file_metadata/file_server.rb +7 -0
- data/lib/vendor/puppet/indirector/file_metadata/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/file_metadata/selector.rb +30 -0
- data/lib/vendor/puppet/indirector/file_metadata.rb +5 -0
- data/lib/vendor/puppet/indirector/file_server.rb +65 -0
- data/lib/vendor/puppet/indirector/indirection.rb +323 -0
- data/lib/vendor/puppet/indirector/instrumentation_data/local.rb +19 -0
- data/lib/vendor/puppet/indirector/instrumentation_data/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/instrumentation_data.rb +3 -0
- data/lib/vendor/puppet/indirector/instrumentation_listener/local.rb +23 -0
- data/lib/vendor/puppet/indirector/instrumentation_listener/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/instrumentation_listener.rb +3 -0
- data/lib/vendor/puppet/indirector/instrumentation_probe/local.rb +24 -0
- data/lib/vendor/puppet/indirector/instrumentation_probe/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/instrumentation_probe.rb +3 -0
- data/lib/vendor/puppet/indirector/inventory/yaml.rb +81 -0
- data/lib/vendor/puppet/indirector/key/ca.rb +12 -0
- data/lib/vendor/puppet/indirector/key/disabled_ca.rb +22 -0
- data/lib/vendor/puppet/indirector/key/file.rb +42 -0
- data/lib/vendor/puppet/indirector/ldap.rb +78 -0
- data/lib/vendor/puppet/indirector/memory.rb +21 -0
- data/lib/vendor/puppet/indirector/node/active_record.rb +13 -0
- data/lib/vendor/puppet/indirector/node/exec.rb +60 -0
- data/lib/vendor/puppet/indirector/node/ldap.rb +256 -0
- data/lib/vendor/puppet/indirector/node/memory.rb +10 -0
- data/lib/vendor/puppet/indirector/node/plain.rb +19 -0
- data/lib/vendor/puppet/indirector/node/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/node/store_configs.rb +5 -0
- data/lib/vendor/puppet/indirector/node/yaml.rb +7 -0
- data/lib/vendor/puppet/indirector/plain.rb +9 -0
- data/lib/vendor/puppet/indirector/queue.rb +81 -0
- data/lib/vendor/puppet/indirector/report/processor.rb +61 -0
- data/lib/vendor/puppet/indirector/report/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/report/yaml.rb +11 -0
- data/lib/vendor/puppet/indirector/request.rb +204 -0
- data/lib/vendor/puppet/indirector/resource/active_record.rb +93 -0
- data/lib/vendor/puppet/indirector/resource/ral.rb +53 -0
- data/lib/vendor/puppet/indirector/resource/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/resource/store_configs.rb +3 -0
- data/lib/vendor/puppet/indirector/resource_type/parser.rb +43 -0
- data/lib/vendor/puppet/indirector/resource_type/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/resource_type.rb +5 -0
- data/lib/vendor/puppet/indirector/rest.rb +166 -0
- data/lib/vendor/puppet/indirector/run/local.rb +8 -0
- data/lib/vendor/puppet/indirector/run/rest.rb +6 -0
- data/lib/vendor/puppet/indirector/ssl_file.rb +178 -0
- data/lib/vendor/puppet/indirector/status/local.rb +7 -0
- data/lib/vendor/puppet/indirector/status/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/status.rb +3 -0
- data/lib/vendor/puppet/indirector/store_configs.rb +30 -0
- data/lib/vendor/puppet/indirector/terminus.rb +145 -0
- data/lib/vendor/puppet/indirector/yaml.rb +75 -0
- data/lib/vendor/puppet/indirector.rb +57 -0
- data/lib/vendor/puppet/interface/action.rb +322 -0
- data/lib/vendor/puppet/interface/action_builder.rb +74 -0
- data/lib/vendor/puppet/interface/action_manager.rb +74 -0
- data/lib/vendor/puppet/interface/documentation.rb +230 -0
- data/lib/vendor/puppet/interface/face_collection.rb +128 -0
- data/lib/vendor/puppet/interface/option.rb +127 -0
- data/lib/vendor/puppet/interface/option_builder.rb +67 -0
- data/lib/vendor/puppet/interface/option_manager.rb +68 -0
- data/lib/vendor/puppet/interface.rb +161 -0
- data/lib/vendor/puppet/metatype/manager.rb +141 -0
- data/lib/vendor/puppet/module.rb +314 -0
- data/lib/vendor/puppet/module_tool/applications/application.rb +82 -0
- data/lib/vendor/puppet/module_tool/applications/builder.rb +91 -0
- data/lib/vendor/puppet/module_tool/applications/checksummer.rb +56 -0
- data/lib/vendor/puppet/module_tool/applications/generator.rb +141 -0
- data/lib/vendor/puppet/module_tool/applications/installer.rb +183 -0
- data/lib/vendor/puppet/module_tool/applications/searcher.rb +15 -0
- data/lib/vendor/puppet/module_tool/applications/uninstaller.rb +107 -0
- data/lib/vendor/puppet/module_tool/applications/unpacker.rb +67 -0
- data/lib/vendor/puppet/module_tool/applications/upgrader.rb +109 -0
- data/lib/vendor/puppet/module_tool/applications.rb +15 -0
- data/lib/vendor/puppet/module_tool/checksums.rb +52 -0
- data/lib/vendor/puppet/module_tool/contents_description.rb +82 -0
- data/lib/vendor/puppet/module_tool/dependency.rb +24 -0
- data/lib/vendor/puppet/module_tool/errors/base.rb +15 -0
- data/lib/vendor/puppet/module_tool/errors/installer.rb +90 -0
- data/lib/vendor/puppet/module_tool/errors/shared.rb +115 -0
- data/lib/vendor/puppet/module_tool/errors/uninstaller.rb +45 -0
- data/lib/vendor/puppet/module_tool/errors/upgrader.rb +72 -0
- data/lib/vendor/puppet/module_tool/errors.rb +9 -0
- data/lib/vendor/puppet/module_tool/metadata.rb +141 -0
- data/lib/vendor/puppet/module_tool/modulefile.rb +75 -0
- data/lib/vendor/puppet/module_tool/shared_behaviors.rb +161 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/Modulefile.erb +11 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/README.erb +16 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +41 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +17 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb +11 -0
- data/lib/vendor/puppet/module_tool/skeleton.rb +34 -0
- data/lib/vendor/puppet/module_tool.rb +99 -0
- data/lib/vendor/puppet/network/authconfig.rb +174 -0
- data/lib/vendor/puppet/network/authorization.rb +76 -0
- data/lib/vendor/puppet/network/authstore.rb +267 -0
- data/lib/vendor/puppet/network/client_request.rb +29 -0
- data/lib/vendor/puppet/network/format.rb +111 -0
- data/lib/vendor/puppet/network/format_handler.rb +181 -0
- data/lib/vendor/puppet/network/formats.rb +171 -0
- data/lib/vendor/puppet/network/handler/ca.rb +61 -0
- data/lib/vendor/puppet/network/handler/filebucket.rb +53 -0
- data/lib/vendor/puppet/network/handler/fileserver.rb +732 -0
- data/lib/vendor/puppet/network/handler/master.rb +87 -0
- data/lib/vendor/puppet/network/handler/report.rb +82 -0
- data/lib/vendor/puppet/network/handler/runner.rb +33 -0
- data/lib/vendor/puppet/network/handler/status.rb +18 -0
- data/lib/vendor/puppet/network/handler.rb +50 -0
- data/lib/vendor/puppet/network/http/api/v1.rb +83 -0
- data/lib/vendor/puppet/network/http/api.rb +4 -0
- data/lib/vendor/puppet/network/http/compression.rb +114 -0
- data/lib/vendor/puppet/network/http/handler.rb +247 -0
- data/lib/vendor/puppet/network/http/mongrel/rest.rb +99 -0
- data/lib/vendor/puppet/network/http/mongrel.rb +55 -0
- data/lib/vendor/puppet/network/http/rack/httphandler.rb +16 -0
- data/lib/vendor/puppet/network/http/rack/rest.rb +100 -0
- data/lib/vendor/puppet/network/http/rack/xmlrpc.rb +65 -0
- data/lib/vendor/puppet/network/http/rack.rb +65 -0
- data/lib/vendor/puppet/network/http/webrick/rest.rb +81 -0
- data/lib/vendor/puppet/network/http/webrick.rb +141 -0
- data/lib/vendor/puppet/network/http.rb +15 -0
- data/lib/vendor/puppet/network/http_pool.rb +57 -0
- data/lib/vendor/puppet/network/http_server/mongrel.rb +129 -0
- data/lib/vendor/puppet/network/http_server.rb +3 -0
- data/lib/vendor/puppet/network/rest_authconfig.rb +102 -0
- data/lib/vendor/puppet/network/rest_authorization.rb +23 -0
- data/lib/vendor/puppet/network/rest_controller.rb +2 -0
- data/lib/vendor/puppet/network/rights.rb +275 -0
- data/lib/vendor/puppet/network/server.rb +164 -0
- data/lib/vendor/puppet/network/xmlrpc/processor.rb +86 -0
- data/lib/vendor/puppet/network/xmlrpc/server.rb +19 -0
- data/lib/vendor/puppet/network/xmlrpc/webrick_servlet.rb +114 -0
- data/lib/vendor/puppet/network.rb +3 -0
- data/lib/vendor/puppet/node/environment.rb +216 -0
- data/lib/vendor/puppet/node/facts.rb +99 -0
- data/lib/vendor/puppet/node/inventory.rb +7 -0
- data/lib/vendor/puppet/node.rb +120 -0
- data/lib/vendor/puppet/parameter/path.rb +34 -0
- data/lib/vendor/puppet/parameter/value.rb +69 -0
- data/lib/vendor/puppet/parameter/value_collection.rb +143 -0
- data/lib/vendor/puppet/parameter.rb +316 -0
- data/lib/vendor/puppet/parser/ast/arithmetic_operator.rb +39 -0
- data/lib/vendor/puppet/parser/ast/astarray.rb +50 -0
- data/lib/vendor/puppet/parser/ast/asthash.rb +37 -0
- data/lib/vendor/puppet/parser/ast/boolean_operator.rb +46 -0
- data/lib/vendor/puppet/parser/ast/branch.rb +37 -0
- data/lib/vendor/puppet/parser/ast/caseopt.rb +52 -0
- data/lib/vendor/puppet/parser/ast/casestatement.rb +44 -0
- data/lib/vendor/puppet/parser/ast/collection.rb +49 -0
- data/lib/vendor/puppet/parser/ast/collexpr.rb +57 -0
- data/lib/vendor/puppet/parser/ast/comparison_operator.rb +38 -0
- data/lib/vendor/puppet/parser/ast/definition.rb +17 -0
- data/lib/vendor/puppet/parser/ast/else.rb +22 -0
- data/lib/vendor/puppet/parser/ast/function.rb +50 -0
- data/lib/vendor/puppet/parser/ast/hostclass.rb +29 -0
- data/lib/vendor/puppet/parser/ast/ifstatement.rb +34 -0
- data/lib/vendor/puppet/parser/ast/in_operator.rb +24 -0
- data/lib/vendor/puppet/parser/ast/leaf.rb +221 -0
- data/lib/vendor/puppet/parser/ast/match_operator.rb +28 -0
- data/lib/vendor/puppet/parser/ast/minus.rb +23 -0
- data/lib/vendor/puppet/parser/ast/node.rb +20 -0
- data/lib/vendor/puppet/parser/ast/nop.rb +11 -0
- data/lib/vendor/puppet/parser/ast/not.rb +19 -0
- data/lib/vendor/puppet/parser/ast/relationship.rb +47 -0
- data/lib/vendor/puppet/parser/ast/resource.rb +74 -0
- data/lib/vendor/puppet/parser/ast/resource_defaults.rb +24 -0
- data/lib/vendor/puppet/parser/ast/resource_instance.rb +9 -0
- data/lib/vendor/puppet/parser/ast/resource_override.rb +67 -0
- data/lib/vendor/puppet/parser/ast/resource_reference.rb +28 -0
- data/lib/vendor/puppet/parser/ast/resourceparam.rb +29 -0
- data/lib/vendor/puppet/parser/ast/selector.rb +44 -0
- data/lib/vendor/puppet/parser/ast/tag.rb +24 -0
- data/lib/vendor/puppet/parser/ast/top_level_construct.rb +4 -0
- data/lib/vendor/puppet/parser/ast/vardef.rb +33 -0
- data/lib/vendor/puppet/parser/ast.rb +139 -0
- data/lib/vendor/puppet/parser/collector.rb +176 -0
- data/lib/vendor/puppet/parser/compiler.rb +476 -0
- data/lib/vendor/puppet/parser/files.rb +88 -0
- data/lib/vendor/puppet/parser/functions/create_resources.rb +75 -0
- data/lib/vendor/puppet/parser/functions/defined.rb +49 -0
- data/lib/vendor/puppet/parser/functions/extlookup.rb +152 -0
- data/lib/vendor/puppet/parser/functions/fail.rb +4 -0
- data/lib/vendor/puppet/parser/functions/file.rb +23 -0
- data/lib/vendor/puppet/parser/functions/fqdn_rand.rb +13 -0
- data/lib/vendor/puppet/parser/functions/generate.rb +37 -0
- data/lib/vendor/puppet/parser/functions/include.rb +24 -0
- data/lib/vendor/puppet/parser/functions/inline_template.rb +21 -0
- data/lib/vendor/puppet/parser/functions/md5.rb +5 -0
- data/lib/vendor/puppet/parser/functions/realize.rb +14 -0
- data/lib/vendor/puppet/parser/functions/regsubst.rb +119 -0
- data/lib/vendor/puppet/parser/functions/require.rb +57 -0
- data/lib/vendor/puppet/parser/functions/search.rb +7 -0
- data/lib/vendor/puppet/parser/functions/sha1.rb +5 -0
- data/lib/vendor/puppet/parser/functions/shellquote.rb +61 -0
- data/lib/vendor/puppet/parser/functions/split.rb +29 -0
- data/lib/vendor/puppet/parser/functions/sprintf.rb +39 -0
- data/lib/vendor/puppet/parser/functions/tag.rb +6 -0
- data/lib/vendor/puppet/parser/functions/tagged.rb +18 -0
- data/lib/vendor/puppet/parser/functions/template.rb +23 -0
- data/lib/vendor/puppet/parser/functions/versioncmp.rb +37 -0
- data/lib/vendor/puppet/parser/functions.rb +165 -0
- data/lib/vendor/puppet/parser/grammar.ra +771 -0
- data/lib/vendor/puppet/parser/lexer.rb +617 -0
- data/lib/vendor/puppet/parser/makefile +8 -0
- data/lib/vendor/puppet/parser/parser.rb +2421 -0
- data/lib/vendor/puppet/parser/parser_support.rb +211 -0
- data/lib/vendor/puppet/parser/relationship.rb +62 -0
- data/lib/vendor/puppet/parser/resource/param.rb +25 -0
- data/lib/vendor/puppet/parser/resource.rb +341 -0
- data/lib/vendor/puppet/parser/scope.rb +497 -0
- data/lib/vendor/puppet/parser/templatewrapper.rb +115 -0
- data/lib/vendor/puppet/parser/type_loader.rb +172 -0
- data/lib/vendor/puppet/parser/yaml_trimmer.rb +9 -0
- data/lib/vendor/puppet/parser.rb +4 -0
- data/lib/vendor/puppet/property/ensure.rb +92 -0
- data/lib/vendor/puppet/property/keyvalue.rb +86 -0
- data/lib/vendor/puppet/property/list.rb +75 -0
- data/lib/vendor/puppet/property/ordered_list.rb +22 -0
- data/lib/vendor/puppet/property.rb +373 -0
- data/lib/vendor/puppet/provider/aixobject.rb +393 -0
- data/lib/vendor/puppet/provider/augeas/augeas.rb +418 -0
- data/lib/vendor/puppet/provider/cisco.rb +9 -0
- data/lib/vendor/puppet/provider/computer/computer.rb +20 -0
- data/lib/vendor/puppet/provider/confine/exists.rb +19 -0
- data/lib/vendor/puppet/provider/confine/false.rb +19 -0
- data/lib/vendor/puppet/provider/confine/feature.rb +17 -0
- data/lib/vendor/puppet/provider/confine/true.rb +20 -0
- data/lib/vendor/puppet/provider/confine/variable.rb +59 -0
- data/lib/vendor/puppet/provider/confine.rb +80 -0
- data/lib/vendor/puppet/provider/confine_collection.rb +50 -0
- data/lib/vendor/puppet/provider/confiner.rb +16 -0
- data/lib/vendor/puppet/provider/cron/crontab.rb +200 -0
- data/lib/vendor/puppet/provider/exec/posix.rb +39 -0
- data/lib/vendor/puppet/provider/exec/shell.rb +25 -0
- data/lib/vendor/puppet/provider/exec/windows.rb +56 -0
- data/lib/vendor/puppet/provider/exec.rb +84 -0
- data/lib/vendor/puppet/provider/file/posix.rb +135 -0
- data/lib/vendor/puppet/provider/file/windows.rb +88 -0
- data/lib/vendor/puppet/provider/group/aix.rb +141 -0
- data/lib/vendor/puppet/provider/group/directoryservice.rb +12 -0
- data/lib/vendor/puppet/provider/group/groupadd.rb +29 -0
- data/lib/vendor/puppet/provider/group/ldap.rb +45 -0
- data/lib/vendor/puppet/provider/group/pw.rb +48 -0
- data/lib/vendor/puppet/provider/group/windows_adsi.rb +54 -0
- data/lib/vendor/puppet/provider/host/parsed.rb +44 -0
- data/lib/vendor/puppet/provider/interface/base.rb +0 -0
- data/lib/vendor/puppet/provider/interface/cisco.rb +27 -0
- data/lib/vendor/puppet/provider/ldap.rb +137 -0
- data/lib/vendor/puppet/provider/macauthorization/macauthorization.rb +313 -0
- data/lib/vendor/puppet/provider/mailalias/aliases.rb +44 -0
- data/lib/vendor/puppet/provider/maillist/mailman.rb +108 -0
- data/lib/vendor/puppet/provider/mcx/mcxcontent.rb +166 -0
- data/lib/vendor/puppet/provider/mount/parsed.rb +124 -0
- data/lib/vendor/puppet/provider/mount.rb +46 -0
- data/lib/vendor/puppet/provider/naginator.rb +63 -0
- data/lib/vendor/puppet/provider/nameservice/directoryservice.rb +652 -0
- data/lib/vendor/puppet/provider/nameservice/objectadd.rb +33 -0
- data/lib/vendor/puppet/provider/nameservice/pw.rb +21 -0
- data/lib/vendor/puppet/provider/nameservice.rb +276 -0
- data/lib/vendor/puppet/provider/network_device.rb +68 -0
- data/lib/vendor/puppet/provider/package/aix.rb +128 -0
- data/lib/vendor/puppet/provider/package/appdmg.rb +109 -0
- data/lib/vendor/puppet/provider/package/apple.rb +47 -0
- data/lib/vendor/puppet/provider/package/apt.rb +111 -0
- data/lib/vendor/puppet/provider/package/aptitude.rb +29 -0
- data/lib/vendor/puppet/provider/package/aptrpm.rb +83 -0
- data/lib/vendor/puppet/provider/package/blastwave.rb +111 -0
- data/lib/vendor/puppet/provider/package/dpkg.rb +155 -0
- data/lib/vendor/puppet/provider/package/fink.rb +81 -0
- data/lib/vendor/puppet/provider/package/freebsd.rb +49 -0
- data/lib/vendor/puppet/provider/package/gem.rb +127 -0
- data/lib/vendor/puppet/provider/package/hpux.rb +44 -0
- data/lib/vendor/puppet/provider/package/macports.rb +105 -0
- data/lib/vendor/puppet/provider/package/msi.rb +141 -0
- data/lib/vendor/puppet/provider/package/nim.rb +35 -0
- data/lib/vendor/puppet/provider/package/openbsd.rb +112 -0
- data/lib/vendor/puppet/provider/package/pacman.rb +94 -0
- data/lib/vendor/puppet/provider/package/pip.rb +111 -0
- data/lib/vendor/puppet/provider/package/pkg.rb +112 -0
- data/lib/vendor/puppet/provider/package/pkgdmg.rb +123 -0
- data/lib/vendor/puppet/provider/package/pkgutil.rb +174 -0
- data/lib/vendor/puppet/provider/package/portage.rb +124 -0
- data/lib/vendor/puppet/provider/package/ports.rb +94 -0
- data/lib/vendor/puppet/provider/package/portupgrade.rb +241 -0
- data/lib/vendor/puppet/provider/package/rpm.rb +132 -0
- data/lib/vendor/puppet/provider/package/rug.rb +52 -0
- data/lib/vendor/puppet/provider/package/sun.rb +154 -0
- data/lib/vendor/puppet/provider/package/sunfreeware.rb +9 -0
- data/lib/vendor/puppet/provider/package/up2date.rb +41 -0
- data/lib/vendor/puppet/provider/package/urpmi.rb +59 -0
- data/lib/vendor/puppet/provider/package/yum.rb +106 -0
- data/lib/vendor/puppet/provider/package/yumhelper.py +129 -0
- data/lib/vendor/puppet/provider/package/zypper.rb +84 -0
- data/lib/vendor/puppet/provider/package.rb +28 -0
- data/lib/vendor/puppet/provider/parsedfile.rb +374 -0
- data/lib/vendor/puppet/provider/port/parsed.rb +173 -0
- data/lib/vendor/puppet/provider/scheduled_task/win32_taskscheduler.rb +565 -0
- data/lib/vendor/puppet/provider/selboolean/getsetsebool.rb +47 -0
- data/lib/vendor/puppet/provider/selmodule/semodule.rb +134 -0
- data/lib/vendor/puppet/provider/service/base.rb +105 -0
- data/lib/vendor/puppet/provider/service/bsd.rb +49 -0
- data/lib/vendor/puppet/provider/service/daemontools.rb +194 -0
- data/lib/vendor/puppet/provider/service/debian.rb +68 -0
- data/lib/vendor/puppet/provider/service/freebsd.rb +139 -0
- data/lib/vendor/puppet/provider/service/gentoo.rb +54 -0
- data/lib/vendor/puppet/provider/service/init.rb +140 -0
- data/lib/vendor/puppet/provider/service/launchd.rb +303 -0
- data/lib/vendor/puppet/provider/service/openrc.rb +69 -0
- data/lib/vendor/puppet/provider/service/redhat.rb +76 -0
- data/lib/vendor/puppet/provider/service/runit.rb +103 -0
- data/lib/vendor/puppet/provider/service/service.rb +43 -0
- data/lib/vendor/puppet/provider/service/smf.rb +104 -0
- data/lib/vendor/puppet/provider/service/src.rb +86 -0
- data/lib/vendor/puppet/provider/service/systemd.rb +64 -0
- data/lib/vendor/puppet/provider/service/upstart.rb +347 -0
- data/lib/vendor/puppet/provider/service/windows.rb +106 -0
- data/lib/vendor/puppet/provider/ssh_authorized_key/parsed.rb +88 -0
- data/lib/vendor/puppet/provider/sshkey/parsed.rb +37 -0
- data/lib/vendor/puppet/provider/user/aix.rb +357 -0
- data/lib/vendor/puppet/provider/user/directoryservice.rb +86 -0
- data/lib/vendor/puppet/provider/user/hpux.rb +31 -0
- data/lib/vendor/puppet/provider/user/ldap.rb +129 -0
- data/lib/vendor/puppet/provider/user/pw.rb +101 -0
- data/lib/vendor/puppet/provider/user/user_role_add.rb +207 -0
- data/lib/vendor/puppet/provider/user/useradd.rb +127 -0
- data/lib/vendor/puppet/provider/user/windows_adsi.rb +99 -0
- data/lib/vendor/puppet/provider/vlan/cisco.rb +28 -0
- data/lib/vendor/puppet/provider/zfs/solaris.rb +45 -0
- data/lib/vendor/puppet/provider/zone/solaris.rb +260 -0
- data/lib/vendor/puppet/provider/zpool/solaris.rb +116 -0
- data/lib/vendor/puppet/provider.rb +290 -0
- data/lib/vendor/puppet/rails/benchmark.rb +63 -0
- data/lib/vendor/puppet/rails/database/001_add_created_at_to_all_tables.rb +13 -0
- data/lib/vendor/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +13 -0
- data/lib/vendor/puppet/rails/database/003_add_environment_to_host.rb +9 -0
- data/lib/vendor/puppet/rails/database/004_add_inventory_service_tables.rb +36 -0
- data/lib/vendor/puppet/rails/database/schema.rb +131 -0
- data/lib/vendor/puppet/rails/fact_name.rb +6 -0
- data/lib/vendor/puppet/rails/fact_value.rb +8 -0
- data/lib/vendor/puppet/rails/host.rb +258 -0
- data/lib/vendor/puppet/rails/inventory_fact.rb +5 -0
- data/lib/vendor/puppet/rails/inventory_node.rb +43 -0
- data/lib/vendor/puppet/rails/param_name.rb +25 -0
- data/lib/vendor/puppet/rails/param_value.rb +74 -0
- data/lib/vendor/puppet/rails/puppet_tag.rb +10 -0
- data/lib/vendor/puppet/rails/resource.rb +231 -0
- data/lib/vendor/puppet/rails/resource_tag.rb +26 -0
- data/lib/vendor/puppet/rails/source_file.rb +8 -0
- data/lib/vendor/puppet/rails.rb +132 -0
- data/lib/vendor/puppet/rb_tree_map.rb +388 -0
- data/lib/vendor/puppet/reference/configuration.rb +69 -0
- data/lib/vendor/puppet/reference/function.rb +17 -0
- data/lib/vendor/puppet/reference/indirection.rb +32 -0
- data/lib/vendor/puppet/reference/metaparameter.rb +43 -0
- data/lib/vendor/puppet/reference/network.rb +39 -0
- data/lib/vendor/puppet/reference/providers.rb +119 -0
- data/lib/vendor/puppet/reference/report.rb +23 -0
- data/lib/vendor/puppet/reference/type.rb +116 -0
- data/lib/vendor/puppet/relationship.rb +95 -0
- data/lib/vendor/puppet/reports/http.rb +25 -0
- data/lib/vendor/puppet/reports/log.rb +14 -0
- data/lib/vendor/puppet/reports/rrdgraph.rb +128 -0
- data/lib/vendor/puppet/reports/store.rb +74 -0
- data/lib/vendor/puppet/reports/tagmail.rb +179 -0
- data/lib/vendor/puppet/reports.rb +49 -0
- data/lib/vendor/puppet/resource/catalog.rb +661 -0
- data/lib/vendor/puppet/resource/status.rb +79 -0
- data/lib/vendor/puppet/resource/type.rb +344 -0
- data/lib/vendor/puppet/resource/type_collection.rb +215 -0
- data/lib/vendor/puppet/resource/type_collection_helper.rb +7 -0
- data/lib/vendor/puppet/resource.rb +467 -0
- data/lib/vendor/puppet/run.rb +77 -0
- data/lib/vendor/puppet/simple_graph.rb +550 -0
- data/lib/vendor/puppet/ssl/base.rb +86 -0
- data/lib/vendor/puppet/ssl/certificate.rb +40 -0
- data/lib/vendor/puppet/ssl/certificate_authority/interface.rb +182 -0
- data/lib/vendor/puppet/ssl/certificate_authority.rb +374 -0
- data/lib/vendor/puppet/ssl/certificate_factory.rb +166 -0
- data/lib/vendor/puppet/ssl/certificate_request.rb +149 -0
- data/lib/vendor/puppet/ssl/certificate_revocation_list.rb +84 -0
- data/lib/vendor/puppet/ssl/host.rb +365 -0
- data/lib/vendor/puppet/ssl/inventory.rb +54 -0
- data/lib/vendor/puppet/ssl/key.rb +56 -0
- data/lib/vendor/puppet/ssl.rb +8 -0
- data/lib/vendor/puppet/status.rb +28 -0
- data/lib/vendor/puppet/test/test_helper.rb +141 -0
- data/lib/vendor/puppet/transaction/event.rb +66 -0
- data/lib/vendor/puppet/transaction/event_manager.rb +115 -0
- data/lib/vendor/puppet/transaction/report.rb +200 -0
- data/lib/vendor/puppet/transaction/resource_harness.rb +178 -0
- data/lib/vendor/puppet/transaction.rb +493 -0
- data/lib/vendor/puppet/transportable.rb +248 -0
- data/lib/vendor/puppet/type/augeas.rb +218 -0
- data/lib/vendor/puppet/type/component.rb +85 -0
- data/lib/vendor/puppet/type/computer.rb +66 -0
- data/lib/vendor/puppet/type/cron.rb +421 -0
- data/lib/vendor/puppet/type/exec.rb +520 -0
- data/lib/vendor/puppet/type/file/checksum.rb +33 -0
- data/lib/vendor/puppet/type/file/content.rb +230 -0
- data/lib/vendor/puppet/type/file/ctime.rb +18 -0
- data/lib/vendor/puppet/type/file/ensure.rb +172 -0
- data/lib/vendor/puppet/type/file/group.rb +41 -0
- data/lib/vendor/puppet/type/file/mode.rb +148 -0
- data/lib/vendor/puppet/type/file/mtime.rb +17 -0
- data/lib/vendor/puppet/type/file/owner.rb +44 -0
- data/lib/vendor/puppet/type/file/selcontext.rb +123 -0
- data/lib/vendor/puppet/type/file/source.rb +195 -0
- data/lib/vendor/puppet/type/file/target.rb +87 -0
- data/lib/vendor/puppet/type/file/type.rb +19 -0
- data/lib/vendor/puppet/type/file.rb +829 -0
- data/lib/vendor/puppet/type/filebucket.rb +114 -0
- data/lib/vendor/puppet/type/group.rb +149 -0
- data/lib/vendor/puppet/type/host.rb +87 -0
- data/lib/vendor/puppet/type/interface.rb +112 -0
- data/lib/vendor/puppet/type/k5login.rb +88 -0
- data/lib/vendor/puppet/type/macauthorization.rb +167 -0
- data/lib/vendor/puppet/type/mailalias.rb +48 -0
- data/lib/vendor/puppet/type/maillist.rb +62 -0
- data/lib/vendor/puppet/type/mcx.rb +99 -0
- data/lib/vendor/puppet/type/mount.rb +241 -0
- data/lib/vendor/puppet/type/nagios_command.rb +3 -0
- data/lib/vendor/puppet/type/nagios_contact.rb +3 -0
- data/lib/vendor/puppet/type/nagios_contactgroup.rb +3 -0
- data/lib/vendor/puppet/type/nagios_host.rb +3 -0
- data/lib/vendor/puppet/type/nagios_hostdependency.rb +3 -0
- data/lib/vendor/puppet/type/nagios_hostescalation.rb +3 -0
- data/lib/vendor/puppet/type/nagios_hostextinfo.rb +3 -0
- data/lib/vendor/puppet/type/nagios_hostgroup.rb +3 -0
- data/lib/vendor/puppet/type/nagios_service.rb +3 -0
- data/lib/vendor/puppet/type/nagios_servicedependency.rb +3 -0
- data/lib/vendor/puppet/type/nagios_serviceescalation.rb +3 -0
- data/lib/vendor/puppet/type/nagios_serviceextinfo.rb +3 -0
- data/lib/vendor/puppet/type/nagios_servicegroup.rb +3 -0
- data/lib/vendor/puppet/type/nagios_timeperiod.rb +3 -0
- data/lib/vendor/puppet/type/notify.rb +44 -0
- data/lib/vendor/puppet/type/package.rb +357 -0
- data/lib/vendor/puppet/type/port.rb +119 -0
- data/lib/vendor/puppet/type/resources.rb +131 -0
- data/lib/vendor/puppet/type/router.rb +17 -0
- data/lib/vendor/puppet/type/schedule.rb +360 -0
- data/lib/vendor/puppet/type/scheduled_task.rb +166 -0
- data/lib/vendor/puppet/type/selboolean.rb +26 -0
- data/lib/vendor/puppet/type/selmodule.rb +59 -0
- data/lib/vendor/puppet/type/service.rb +221 -0
- data/lib/vendor/puppet/type/ssh_authorized_key.rb +112 -0
- data/lib/vendor/puppet/type/sshkey.rb +72 -0
- data/lib/vendor/puppet/type/stage.rb +19 -0
- data/lib/vendor/puppet/type/tidy.rb +333 -0
- data/lib/vendor/puppet/type/user.rb +524 -0
- data/lib/vendor/puppet/type/vlan.rb +26 -0
- data/lib/vendor/puppet/type/whit.rb +34 -0
- data/lib/vendor/puppet/type/yumrepo.rb +361 -0
- data/lib/vendor/puppet/type/zfs.rb +146 -0
- data/lib/vendor/puppet/type/zone.rb +492 -0
- data/lib/vendor/puppet/type/zpool.rb +91 -0
- data/lib/vendor/puppet/type.rb +1979 -0
- data/lib/vendor/puppet/util/adsi.rb +296 -0
- data/lib/vendor/puppet/util/autoload/file_cache.rb +92 -0
- data/lib/vendor/puppet/util/autoload.rb +158 -0
- data/lib/vendor/puppet/util/backups.rb +87 -0
- data/lib/vendor/puppet/util/cacher.rb +80 -0
- data/lib/vendor/puppet/util/checksums.rb +143 -0
- data/lib/vendor/puppet/util/classgen.rb +209 -0
- data/lib/vendor/puppet/util/colors.rb +128 -0
- data/lib/vendor/puppet/util/command_line.rb +185 -0
- data/lib/vendor/puppet/util/constant_inflector.rb +15 -0
- data/lib/vendor/puppet/util/diff.rb +77 -0
- data/lib/vendor/puppet/util/docs.rb +123 -0
- data/lib/vendor/puppet/util/errors.rb +63 -0
- data/lib/vendor/puppet/util/execution.rb +20 -0
- data/lib/vendor/puppet/util/execution_stub.rb +26 -0
- data/lib/vendor/puppet/util/feature.rb +83 -0
- data/lib/vendor/puppet/util/file_locking.rb +47 -0
- data/lib/vendor/puppet/util/fileparsing.rb +373 -0
- data/lib/vendor/puppet/util/filetype.rb +296 -0
- data/lib/vendor/puppet/util/graph.rb +27 -0
- data/lib/vendor/puppet/util/inifile.rb +203 -0
- data/lib/vendor/puppet/util/inline_docs.rb +26 -0
- data/lib/vendor/puppet/util/instance_loader.rb +81 -0
- data/lib/vendor/puppet/util/instrumentation/data.rb +34 -0
- data/lib/vendor/puppet/util/instrumentation/indirection_probe.rb +29 -0
- data/lib/vendor/puppet/util/instrumentation/instrumentable.rb +143 -0
- data/lib/vendor/puppet/util/instrumentation/listener.rb +60 -0
- data/lib/vendor/puppet/util/instrumentation/listeners/log.rb +29 -0
- data/lib/vendor/puppet/util/instrumentation/listeners/performance.rb +30 -0
- data/lib/vendor/puppet/util/instrumentation.rb +171 -0
- data/lib/vendor/puppet/util/ldap/connection.rb +74 -0
- data/lib/vendor/puppet/util/ldap/generator.rb +42 -0
- data/lib/vendor/puppet/util/ldap/manager.rb +279 -0
- data/lib/vendor/puppet/util/ldap.rb +2 -0
- data/lib/vendor/puppet/util/loadedfile.rb +61 -0
- data/lib/vendor/puppet/util/log/destination.rb +49 -0
- data/lib/vendor/puppet/util/log/destinations.rb +268 -0
- data/lib/vendor/puppet/util/log.rb +275 -0
- data/lib/vendor/puppet/util/log_paths.rb +22 -0
- data/lib/vendor/puppet/util/logging.rb +51 -0
- data/lib/vendor/puppet/util/metaid.rb +21 -0
- data/lib/vendor/puppet/util/methodhelper.rb +32 -0
- data/lib/vendor/puppet/util/metric.rb +186 -0
- data/lib/vendor/puppet/util/monkey_patches.rb +243 -0
- data/lib/vendor/puppet/util/nagios_maker.rb +60 -0
- data/lib/vendor/puppet/util/network_device/base.rb +27 -0
- data/lib/vendor/puppet/util/network_device/cisco/device.rb +257 -0
- data/lib/vendor/puppet/util/network_device/cisco/facts.rb +72 -0
- data/lib/vendor/puppet/util/network_device/cisco/interface.rb +82 -0
- data/lib/vendor/puppet/util/network_device/cisco.rb +4 -0
- data/lib/vendor/puppet/util/network_device/config.rb +92 -0
- data/lib/vendor/puppet/util/network_device/ipcalc.rb +68 -0
- data/lib/vendor/puppet/util/network_device/transport/base.rb +26 -0
- data/lib/vendor/puppet/util/network_device/transport/ssh.rb +121 -0
- data/lib/vendor/puppet/util/network_device/transport/telnet.rb +42 -0
- data/lib/vendor/puppet/util/network_device/transport.rb +3 -0
- data/lib/vendor/puppet/util/network_device.rb +17 -0
- data/lib/vendor/puppet/util/package.rb +31 -0
- data/lib/vendor/puppet/util/pidlock.rb +117 -0
- data/lib/vendor/puppet/util/platform.rb +22 -0
- data/lib/vendor/puppet/util/plugins.rb +82 -0
- data/lib/vendor/puppet/util/posix.rb +137 -0
- data/lib/vendor/puppet/util/provider_features.rb +168 -0
- data/lib/vendor/puppet/util/pson.rb +13 -0
- data/lib/vendor/puppet/util/queue/stomp.rb +60 -0
- data/lib/vendor/puppet/util/queue.rb +96 -0
- data/lib/vendor/puppet/util/rails/cache_accumulator.rb +65 -0
- data/lib/vendor/puppet/util/rails/collection_merger.rb +17 -0
- data/lib/vendor/puppet/util/rails/reference_serializer.rb +32 -0
- data/lib/vendor/puppet/util/rdoc.rb +87 -0
- data/lib/vendor/puppet/util/reference.rb +124 -0
- data/lib/vendor/puppet/util/resource_template.rb +61 -0
- data/lib/vendor/puppet/util/retryaction.rb +48 -0
- data/lib/vendor/puppet/util/run_mode.rb +82 -0
- data/lib/vendor/puppet/util/selinux.rb +211 -0
- data/lib/vendor/puppet/util/settings/boolean_setting.rb +30 -0
- data/lib/vendor/puppet/util/settings/file_setting.rb +135 -0
- data/lib/vendor/puppet/util/settings/setting.rb +94 -0
- data/lib/vendor/puppet/util/settings.rb +926 -0
- data/lib/vendor/puppet/util/storage.rb +96 -0
- data/lib/vendor/puppet/util/subclass_loader.rb +82 -0
- data/lib/vendor/puppet/util/suidmanager.rb +173 -0
- data/lib/vendor/puppet/util/symbolic_file_mode.rb +140 -0
- data/lib/vendor/puppet/util/tagging.rb +78 -0
- data/lib/vendor/puppet/util/terminal.rb +16 -0
- data/lib/vendor/puppet/util/user_attr.rb +21 -0
- data/lib/vendor/puppet/util/warnings.rb +29 -0
- data/lib/vendor/puppet/util/windows/error.rb +16 -0
- data/lib/vendor/puppet/util/windows/file.rb +27 -0
- data/lib/vendor/puppet/util/windows/process.rb +33 -0
- data/lib/vendor/puppet/util/windows/security.rb +622 -0
- data/lib/vendor/puppet/util/windows/sid.rb +96 -0
- data/lib/vendor/puppet/util/windows/user.rb +106 -0
- data/lib/vendor/puppet/util/windows.rb +8 -0
- data/lib/vendor/puppet/util/zaml.rb +407 -0
- data/lib/vendor/puppet/util.rb +646 -0
- data/lib/vendor/puppet/version.rb +18 -0
- data/lib/vendor/puppet.rb +125 -0
- data/lib/vendor/semver.rb +124 -0
- data/puppet-parse.gemspec +2 -8
- metadata +812 -94
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
require 'puppet/external/pson/common'
|
|
2
|
+
require 'puppet/external/pson/pure/parser'
|
|
3
|
+
require 'puppet/external/pson/pure/generator'
|
|
4
|
+
|
|
5
|
+
module PSON
|
|
6
|
+
begin
|
|
7
|
+
require 'iconv'
|
|
8
|
+
# An iconv instance to convert from UTF8 to UTF16 Big Endian.
|
|
9
|
+
UTF16toUTF8 = Iconv.new('utf-8', 'utf-16be') # :nodoc:
|
|
10
|
+
# An iconv instance to convert from UTF16 Big Endian to UTF8.
|
|
11
|
+
UTF8toUTF16 = Iconv.new('utf-16be', 'utf-8') # :nodoc:
|
|
12
|
+
UTF8toUTF16.iconv('no bom')
|
|
13
|
+
rescue LoadError
|
|
14
|
+
# We actually don't care
|
|
15
|
+
Puppet.warning "iconv couldn't be loaded, which is required for UTF-8/UTF-16 conversions"
|
|
16
|
+
rescue Errno::EINVAL, Iconv::InvalidEncoding
|
|
17
|
+
# Iconv doesn't support big endian utf-16. Let's try to hack this manually
|
|
18
|
+
# into the converters.
|
|
19
|
+
begin
|
|
20
|
+
old_verbose, $VERBSOSE = $VERBOSE, nil
|
|
21
|
+
# An iconv instance to convert from UTF8 to UTF16 Big Endian.
|
|
22
|
+
UTF16toUTF8 = Iconv.new('utf-8', 'utf-16') # :nodoc:
|
|
23
|
+
# An iconv instance to convert from UTF16 Big Endian to UTF8.
|
|
24
|
+
UTF8toUTF16 = Iconv.new('utf-16', 'utf-8') # :nodoc:
|
|
25
|
+
UTF8toUTF16.iconv('no bom')
|
|
26
|
+
if UTF8toUTF16.iconv("\xe2\x82\xac") == "\xac\x20"
|
|
27
|
+
swapper = Class.new do
|
|
28
|
+
def initialize(iconv) # :nodoc:
|
|
29
|
+
@iconv = iconv
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def iconv(string) # :nodoc:
|
|
33
|
+
result = @iconv.iconv(string)
|
|
34
|
+
PSON.swap!(result)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
UTF8toUTF16 = swapper.new(UTF8toUTF16) # :nodoc:
|
|
38
|
+
end
|
|
39
|
+
if UTF16toUTF8.iconv("\xac\x20") == "\xe2\x82\xac"
|
|
40
|
+
swapper = Class.new do
|
|
41
|
+
def initialize(iconv) # :nodoc:
|
|
42
|
+
@iconv = iconv
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def iconv(string) # :nodoc:
|
|
46
|
+
string = PSON.swap!(string.dup)
|
|
47
|
+
@iconv.iconv(string)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
UTF16toUTF8 = swapper.new(UTF16toUTF8) # :nodoc:
|
|
51
|
+
end
|
|
52
|
+
rescue Errno::EINVAL, Iconv::InvalidEncoding
|
|
53
|
+
Puppet.warning "iconv doesn't seem to support UTF-8/UTF-16 conversions"
|
|
54
|
+
ensure
|
|
55
|
+
$VERBOSE = old_verbose
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Swap consecutive bytes of _string_ in place.
|
|
60
|
+
def self.swap!(string) # :nodoc:
|
|
61
|
+
0.upto(string.size / 2) do |i|
|
|
62
|
+
break unless string[2 * i + 1]
|
|
63
|
+
string[2 * i], string[2 * i + 1] = string[2 * i + 1], string[2 * i]
|
|
64
|
+
end
|
|
65
|
+
string
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# This module holds all the modules/classes that implement PSON's
|
|
69
|
+
# functionality in pure ruby.
|
|
70
|
+
module Pure
|
|
71
|
+
$DEBUG and warn "Using pure library for PSON."
|
|
72
|
+
PSON.parser = Parser
|
|
73
|
+
PSON.generator = Generator
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
PSON_LOADED = true
|
|
77
|
+
end
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
require 'puppet/face'
|
|
2
|
+
|
|
3
|
+
Puppet::Face.define(:ca, '0.1.0') do
|
|
4
|
+
copyright "Puppet Labs", 2011
|
|
5
|
+
license "Apache 2 license; see COPYING"
|
|
6
|
+
|
|
7
|
+
summary "Local Puppet Certificate Authority management."
|
|
8
|
+
|
|
9
|
+
description <<-TEXT
|
|
10
|
+
This provides local management of the Puppet Certificate Authority.
|
|
11
|
+
|
|
12
|
+
You can use this subcommand to sign outstanding certificate requests, list
|
|
13
|
+
and manage local certificates, and inspect the state of the CA.
|
|
14
|
+
TEXT
|
|
15
|
+
|
|
16
|
+
action :list do
|
|
17
|
+
summary "List certificates and/or certificate requests."
|
|
18
|
+
|
|
19
|
+
description <<-TEXT
|
|
20
|
+
This will list the current certificates and certificate signing requests
|
|
21
|
+
in the Puppet CA. You will also get the fingerprint, and any certificate
|
|
22
|
+
verification failure reported.
|
|
23
|
+
TEXT
|
|
24
|
+
|
|
25
|
+
option "--[no-]all" do
|
|
26
|
+
summary "Include all certificates and requests."
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
option "--[no-]pending" do
|
|
30
|
+
summary "Include pending certificate signing requests."
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
option "--[no-]signed" do
|
|
34
|
+
summary "Include signed certificates."
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
option "--subject PATTERN" do
|
|
38
|
+
summary "Only list if the subject matches PATTERN."
|
|
39
|
+
|
|
40
|
+
description <<-TEXT
|
|
41
|
+
Only include certificates or requests where subject matches PATTERN.
|
|
42
|
+
|
|
43
|
+
PATTERN is interpreted as a regular expression, allowing complex
|
|
44
|
+
filtering of the content.
|
|
45
|
+
TEXT
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
when_invoked do |options|
|
|
49
|
+
raise "Not a CA" unless Puppet::SSL::CertificateAuthority.ca?
|
|
50
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
51
|
+
raise "Unable to fetch the CA"
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
pattern = options[:subject].nil? ? nil :
|
|
55
|
+
Regexp.new(options[:subject], Regexp::IGNORECASE)
|
|
56
|
+
|
|
57
|
+
pending = options[:pending].nil? ? options[:all] : options[:pending]
|
|
58
|
+
signed = options[:signed].nil? ? options[:all] : options[:signed]
|
|
59
|
+
|
|
60
|
+
# By default we list pending, so if nothing at all was requested...
|
|
61
|
+
unless pending or signed then pending = true end
|
|
62
|
+
|
|
63
|
+
hosts = []
|
|
64
|
+
|
|
65
|
+
pending and hosts += ca.waiting?
|
|
66
|
+
signed and hosts += ca.list
|
|
67
|
+
|
|
68
|
+
pattern and hosts = hosts.select {|hostname| pattern.match hostname }
|
|
69
|
+
|
|
70
|
+
hosts.sort.map {|host| Puppet::SSL::Host.new(host) }
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
when_rendering :console do |hosts|
|
|
74
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
75
|
+
raise "Unable to fetch the CA"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
length = hosts.map{|x| x.name.length }.max.to_i + 1
|
|
79
|
+
|
|
80
|
+
hosts.map do |host|
|
|
81
|
+
name = host.name.ljust(length)
|
|
82
|
+
if host.certificate_request then
|
|
83
|
+
" #{name} (#{host.certificate_request.fingerprint})"
|
|
84
|
+
else
|
|
85
|
+
begin
|
|
86
|
+
ca.verify(host.certificate)
|
|
87
|
+
"+ #{name} (#{host.certificate.fingerprint})"
|
|
88
|
+
rescue Puppet::SSL::CertificateAuthority::CertificateVerificationError => e
|
|
89
|
+
"- #{name} (#{host.certificate.fingerprint}) (#{e.to_s})"
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end.join("\n")
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
action :destroy do
|
|
97
|
+
when_invoked do |host, options|
|
|
98
|
+
raise "Not a CA" unless Puppet::SSL::CertificateAuthority.ca?
|
|
99
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
100
|
+
raise "Unable to fetch the CA"
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
ca.destroy host
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
action :revoke do
|
|
108
|
+
when_invoked do |host, options|
|
|
109
|
+
raise "Not a CA" unless Puppet::SSL::CertificateAuthority.ca?
|
|
110
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
111
|
+
raise "Unable to fetch the CA"
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
begin
|
|
115
|
+
ca.revoke host
|
|
116
|
+
rescue ArgumentError => e
|
|
117
|
+
# This is a bit naff, but it makes the behaviour consistent with the
|
|
118
|
+
# destroy action. The underlying tools could be nicer for that sort
|
|
119
|
+
# of thing; they have fairly inconsistent reporting of failures.
|
|
120
|
+
raise unless e.to_s =~ /Could not find a serial number for /
|
|
121
|
+
"Nothing was revoked"
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
action :generate do
|
|
127
|
+
option "--dns-alt-names NAMES" do
|
|
128
|
+
summary "Additional DNS names to add to the certificate request"
|
|
129
|
+
description Puppet.settings.setting(:dns_alt_names).desc
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
when_invoked do |host, options|
|
|
133
|
+
raise "Not a CA" unless Puppet::SSL::CertificateAuthority.ca?
|
|
134
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
135
|
+
raise "Unable to fetch the CA"
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
begin
|
|
139
|
+
ca.generate(host, :dns_alt_names => options[:dns_alt_names])
|
|
140
|
+
rescue RuntimeError => e
|
|
141
|
+
if e.to_s =~ /already has a requested certificate/
|
|
142
|
+
"#{host} already has a certificate request; use sign instead"
|
|
143
|
+
else
|
|
144
|
+
raise
|
|
145
|
+
end
|
|
146
|
+
rescue ArgumentError => e
|
|
147
|
+
if e.to_s =~ /A Certificate already exists for /
|
|
148
|
+
"#{host} already has a certificate"
|
|
149
|
+
else
|
|
150
|
+
raise
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
action :sign do
|
|
157
|
+
option("--[no-]allow-dns-alt-names") do
|
|
158
|
+
summary "Whether or not to accept DNS alt names in the certificate request"
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
when_invoked do |host, options|
|
|
162
|
+
raise "Not a CA" unless Puppet::SSL::CertificateAuthority.ca?
|
|
163
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
164
|
+
raise "Unable to fetch the CA"
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
begin
|
|
168
|
+
ca.sign(host, options[:allow_dns_alt_names])
|
|
169
|
+
rescue ArgumentError => e
|
|
170
|
+
if e.to_s =~ /Could not find certificate request/
|
|
171
|
+
e.to_s
|
|
172
|
+
else
|
|
173
|
+
raise
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
action :print do
|
|
180
|
+
when_invoked do |host, options|
|
|
181
|
+
raise "Not a CA" unless Puppet::SSL::CertificateAuthority.ca?
|
|
182
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
183
|
+
raise "Unable to fetch the CA"
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
ca.print host
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
action :fingerprint do
|
|
191
|
+
option "--digest ALGORITHM" do
|
|
192
|
+
summary "The hash algorithm to use when displaying the fingerprint"
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
when_invoked do |host, options|
|
|
196
|
+
raise "Not a CA" unless Puppet::SSL::CertificateAuthority.ca?
|
|
197
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
198
|
+
raise "Unable to fetch the CA"
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
begin
|
|
202
|
+
# I want the default from the CA, not to duplicate it, but passing
|
|
203
|
+
# 'nil' explicitly means that we don't get that. This works...
|
|
204
|
+
if options.has_key? :digest
|
|
205
|
+
ca.fingerprint host, options[:digest]
|
|
206
|
+
else
|
|
207
|
+
ca.fingerprint host
|
|
208
|
+
end
|
|
209
|
+
rescue ArgumentError => e
|
|
210
|
+
raise unless e.to_s =~ /Could not find a certificate or csr for/
|
|
211
|
+
nil
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
action :verify do
|
|
217
|
+
when_invoked do |host, options|
|
|
218
|
+
raise "Not a CA" unless Puppet::SSL::CertificateAuthority.ca?
|
|
219
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
220
|
+
raise "Unable to fetch the CA"
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
begin
|
|
224
|
+
ca.verify host
|
|
225
|
+
{ :host => host, :valid => true }
|
|
226
|
+
rescue ArgumentError => e
|
|
227
|
+
raise unless e.to_s =~ /Could not find a certificate for/
|
|
228
|
+
{ :host => host, :valid => false, :error => e.to_s }
|
|
229
|
+
rescue Puppet::SSL::CertificateAuthority::CertificateVerificationError => e
|
|
230
|
+
{ :host => host, :valid => false, :error => e.to_s }
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
when_rendering :console do |value|
|
|
235
|
+
if value[:valid]
|
|
236
|
+
nil
|
|
237
|
+
else
|
|
238
|
+
"Could not verify #{value[:host]}: #{value[:error]}"
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Select and show a list of resources of a given type.
|
|
2
|
+
Puppet::Face.define(:catalog, '0.0.1') do
|
|
3
|
+
action :select do
|
|
4
|
+
summary "Retrieve a catalog and filter it for resources of a given type."
|
|
5
|
+
arguments "<host> <resource_type>"
|
|
6
|
+
returns <<-'EOT'
|
|
7
|
+
A list of resource references ("Type[title]"). When used from the API,
|
|
8
|
+
returns an array of Puppet::Resource objects excised from a catalog.
|
|
9
|
+
EOT
|
|
10
|
+
description <<-'EOT'
|
|
11
|
+
Retrieves a catalog for the specified host, then searches it for all
|
|
12
|
+
resources of the requested type.
|
|
13
|
+
EOT
|
|
14
|
+
notes <<-'NOTES'
|
|
15
|
+
By default, this action will retrieve a catalog from Puppet's compiler
|
|
16
|
+
subsystem; you must call the action with `--terminus rest` if you wish
|
|
17
|
+
to retrieve a catalog from the puppet master.
|
|
18
|
+
|
|
19
|
+
FORMATTING ISSUES: This action cannot currently render useful yaml;
|
|
20
|
+
instead, it returns an entire catalog. Use json instead.
|
|
21
|
+
NOTES
|
|
22
|
+
examples <<-'EOT'
|
|
23
|
+
Ask the puppet master for a list of managed file resources for a node:
|
|
24
|
+
|
|
25
|
+
$ puppet catalog select --terminus rest somenode.magpie.lan file
|
|
26
|
+
EOT
|
|
27
|
+
when_invoked do |host, type, options|
|
|
28
|
+
# REVISIT: Eventually, type should have a default value that triggers
|
|
29
|
+
# the non-specific behaviour. For now, though, this will do.
|
|
30
|
+
# --daniel 2011-05-03
|
|
31
|
+
catalog = Puppet::Resource::Catalog.indirection.find(host)
|
|
32
|
+
|
|
33
|
+
if type == '*'
|
|
34
|
+
catalog.resources
|
|
35
|
+
else
|
|
36
|
+
type = type.downcase
|
|
37
|
+
catalog.resources.reject { |res| res.type.downcase != type }
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
when_rendering :console do |value|
|
|
42
|
+
if value.nil? then
|
|
43
|
+
"no matching resources found"
|
|
44
|
+
else
|
|
45
|
+
value.map {|x| x.to_s }.join("\n")
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
require 'puppet/indirector/face'
|
|
2
|
+
|
|
3
|
+
Puppet::Indirector::Face.define(:catalog, '0.0.1') do
|
|
4
|
+
copyright "Puppet Labs", 2011
|
|
5
|
+
license "Apache 2 license; see COPYING"
|
|
6
|
+
|
|
7
|
+
summary "Compile, save, view, and convert catalogs."
|
|
8
|
+
description <<-'EOT'
|
|
9
|
+
This subcommand deals with catalogs, which are compiled per-node artifacts
|
|
10
|
+
generated from a set of Puppet manifests. By default, it interacts with the
|
|
11
|
+
compiling subsystem and compiles a catalog using the default manifest and
|
|
12
|
+
`certname`, but you can change the source of the catalog with the
|
|
13
|
+
`--terminus` option. You can also choose to print any catalog in 'dot'
|
|
14
|
+
format (for easy graph viewing with OmniGraffle or Graphviz) with
|
|
15
|
+
'--render-as dot'.
|
|
16
|
+
EOT
|
|
17
|
+
short_description <<-'EOT'
|
|
18
|
+
This subcommand deals with catalogs, which are compiled per-node artifacts
|
|
19
|
+
generated from a set of Puppet manifests. By default, it interacts with the
|
|
20
|
+
compiling subsystem and compiles a catalog using the default manifest and
|
|
21
|
+
`certname`; use the `--terminus` option to change the source of the catalog.
|
|
22
|
+
EOT
|
|
23
|
+
|
|
24
|
+
get_action(:destroy).summary "Invalid for this subcommand."
|
|
25
|
+
get_action(:search).summary "Invalid for this subcommand."
|
|
26
|
+
find = get_action(:find)
|
|
27
|
+
find.summary "Retrieve the catalog for a node."
|
|
28
|
+
find.arguments "<certname>"
|
|
29
|
+
find.returns <<-'EOT'
|
|
30
|
+
A serialized catalog. When used from the Ruby API, returns a
|
|
31
|
+
Puppet::Resource::Catalog object.
|
|
32
|
+
EOT
|
|
33
|
+
|
|
34
|
+
action(:apply) do
|
|
35
|
+
summary "Find and apply a catalog."
|
|
36
|
+
description <<-'EOT'
|
|
37
|
+
Finds and applies a catalog. This action takes no arguments, but
|
|
38
|
+
the source of the catalog can be managed with the `--terminus` option.
|
|
39
|
+
EOT
|
|
40
|
+
returns <<-'EOT'
|
|
41
|
+
Nothing. When used from the Ruby API, returns a
|
|
42
|
+
Puppet::Transaction::Report object.
|
|
43
|
+
EOT
|
|
44
|
+
examples <<-'EOT'
|
|
45
|
+
Apply the locally cached catalog:
|
|
46
|
+
|
|
47
|
+
$ puppet catalog apply --terminus yaml
|
|
48
|
+
|
|
49
|
+
Retrieve a catalog from the master and apply it, in one step:
|
|
50
|
+
|
|
51
|
+
$ puppet catalog apply --terminus rest
|
|
52
|
+
|
|
53
|
+
From `secret_agent.rb` (API example):
|
|
54
|
+
|
|
55
|
+
# ...
|
|
56
|
+
Puppet::Face[:catalog, '0.0.1'].download
|
|
57
|
+
# (Termini are singletons; catalog.download has a side effect of
|
|
58
|
+
# setting the catalog terminus to yaml)
|
|
59
|
+
report = Puppet::Face[:catalog, '0.0.1'].apply
|
|
60
|
+
# ...
|
|
61
|
+
EOT
|
|
62
|
+
|
|
63
|
+
when_invoked do |options|
|
|
64
|
+
catalog = Puppet::Face[:catalog, "0.0.1"].find(Puppet[:certname]) or raise "Could not find catalog for #{Puppet[:certname]}"
|
|
65
|
+
catalog = catalog.to_ral
|
|
66
|
+
|
|
67
|
+
report = Puppet::Transaction::Report.new("apply")
|
|
68
|
+
report.configuration_version = catalog.version
|
|
69
|
+
report.environment = Puppet[:environment]
|
|
70
|
+
|
|
71
|
+
Puppet::Util::Log.newdestination(report)
|
|
72
|
+
|
|
73
|
+
begin
|
|
74
|
+
benchmark(:notice, "Finished catalog run") do
|
|
75
|
+
catalog.apply(:report => report)
|
|
76
|
+
end
|
|
77
|
+
rescue => detail
|
|
78
|
+
puts detail.backtrace if Puppet[:trace]
|
|
79
|
+
Puppet.err "Failed to apply catalog: #{detail}"
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
report.finalize_report
|
|
83
|
+
report
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
action(:download) do
|
|
88
|
+
summary "Download this node's catalog from the puppet master server."
|
|
89
|
+
description <<-'EOT'
|
|
90
|
+
Retrieves a catalog from the puppet master and saves it to the local yaml
|
|
91
|
+
cache. This action always contacts the puppet master and will ignore
|
|
92
|
+
alternate termini.
|
|
93
|
+
|
|
94
|
+
The saved catalog can be used in any subsequent catalog action by specifying
|
|
95
|
+
'--terminus yaml' for that action.
|
|
96
|
+
EOT
|
|
97
|
+
returns "Nothing."
|
|
98
|
+
notes <<-'EOT'
|
|
99
|
+
When used from the Ruby API, this action has a side effect of leaving
|
|
100
|
+
Puppet::Resource::Catalog.indirection.terminus_class set to yaml. The
|
|
101
|
+
terminus must be explicitly re-set for subsequent catalog actions.
|
|
102
|
+
EOT
|
|
103
|
+
examples <<-'EOT'
|
|
104
|
+
Retrieve and store a catalog:
|
|
105
|
+
|
|
106
|
+
$ puppet catalog download
|
|
107
|
+
|
|
108
|
+
From `secret_agent.rb` (API example):
|
|
109
|
+
|
|
110
|
+
Puppet::Face[:plugin, '0.0.1'].download
|
|
111
|
+
Puppet::Face[:facts, '0.0.1'].upload
|
|
112
|
+
Puppet::Face[:catalog, '0.0.1'].download
|
|
113
|
+
# ...
|
|
114
|
+
EOT
|
|
115
|
+
when_invoked do |options|
|
|
116
|
+
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
|
117
|
+
Puppet::Resource::Catalog.indirection.cache_class = nil
|
|
118
|
+
catalog = nil
|
|
119
|
+
retrieval_duration = thinmark do
|
|
120
|
+
catalog = Puppet::Face[:catalog, '0.0.1'].find(Puppet[:certname])
|
|
121
|
+
end
|
|
122
|
+
catalog.retrieval_duration = retrieval_duration
|
|
123
|
+
catalog.write_class_file
|
|
124
|
+
|
|
125
|
+
Puppet::Resource::Catalog.indirection.terminus_class = :yaml
|
|
126
|
+
Puppet::Face[:catalog, "0.0.1"].save(catalog)
|
|
127
|
+
Puppet.notice "Saved catalog for #{Puppet[:certname]} to yaml"
|
|
128
|
+
nil
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
require 'puppet/indirector/face'
|
|
2
|
+
require 'puppet/ssl/host'
|
|
3
|
+
|
|
4
|
+
Puppet::Indirector::Face.define(:certificate, '0.0.1') do
|
|
5
|
+
copyright "Puppet Labs", 2011
|
|
6
|
+
license "Apache 2 license; see COPYING"
|
|
7
|
+
|
|
8
|
+
summary "Provide access to the CA for certificate management."
|
|
9
|
+
description <<-EOT
|
|
10
|
+
This subcommand interacts with a local or remote Puppet certificate
|
|
11
|
+
authority. Currently, its behavior is not a full superset of `puppet
|
|
12
|
+
cert`; specifically, it is unable to mimic puppet cert's "clean" option,
|
|
13
|
+
and its "generate" action submits a CSR rather than creating a
|
|
14
|
+
signed certificate.
|
|
15
|
+
EOT
|
|
16
|
+
|
|
17
|
+
option "--ca-location LOCATION" do
|
|
18
|
+
required
|
|
19
|
+
summary "Which certificate authority to use (local or remote)."
|
|
20
|
+
description <<-EOT
|
|
21
|
+
Whether to act on the local certificate authority or one provided by a
|
|
22
|
+
remote puppet master. Allowed values are 'local' and 'remote.'
|
|
23
|
+
|
|
24
|
+
This option is required.
|
|
25
|
+
EOT
|
|
26
|
+
|
|
27
|
+
before_action do |action, args, options|
|
|
28
|
+
unless [:remote, :local, :only].include? options[:ca_location].to_sym
|
|
29
|
+
raise ArgumentError, "Valid values for ca-location are 'remote', 'local', 'only'."
|
|
30
|
+
end
|
|
31
|
+
Puppet::SSL::Host.ca_location = options[:ca_location].to_sym
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
action :generate do
|
|
36
|
+
summary "Generate a new certificate signing request."
|
|
37
|
+
arguments "<host>"
|
|
38
|
+
returns "Nothing."
|
|
39
|
+
description <<-EOT
|
|
40
|
+
Generates and submits a certificate signing request (CSR) for the
|
|
41
|
+
specified host. This CSR will then have to be signed by a user
|
|
42
|
+
with the proper authorization on the certificate authority.
|
|
43
|
+
|
|
44
|
+
Puppet agent usually handles CSR submission automatically. This action is
|
|
45
|
+
primarily useful for requesting certificates for individual users and
|
|
46
|
+
external applications.
|
|
47
|
+
EOT
|
|
48
|
+
examples <<-EOT
|
|
49
|
+
Request a certificate for "somenode" from the site's CA:
|
|
50
|
+
|
|
51
|
+
$ puppet certificate generate somenode.puppetlabs.lan --ca-location remote
|
|
52
|
+
EOT
|
|
53
|
+
|
|
54
|
+
# Duplicate the option here explicitly to distinguish if it was passed arg
|
|
55
|
+
# us vs. set in the config file.
|
|
56
|
+
option "--dns-alt-names NAMES" do
|
|
57
|
+
summary "Additional DNS names to add to the certificate request"
|
|
58
|
+
description Puppet.settings.setting(:dns_alt_names).desc
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
when_invoked do |name, options|
|
|
62
|
+
host = Puppet::SSL::Host.new(name)
|
|
63
|
+
|
|
64
|
+
# If dns_alt_names are specified via the command line, we will always add
|
|
65
|
+
# them. Otherwise, they will default to the config file setting iff this
|
|
66
|
+
# cert is for the host we're running on.
|
|
67
|
+
|
|
68
|
+
host.generate_certificate_request(:dns_alt_names => options[:dns_alt_names])
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
action :list do
|
|
73
|
+
summary "List all certificate signing requests."
|
|
74
|
+
returns <<-EOT
|
|
75
|
+
An array of #inspect output from CSR objects. This output is
|
|
76
|
+
currently messy, but does contain the names of nodes requesting
|
|
77
|
+
certificates. This action returns #inspect strings even when used
|
|
78
|
+
from the Ruby API.
|
|
79
|
+
EOT
|
|
80
|
+
|
|
81
|
+
when_invoked do |options|
|
|
82
|
+
Puppet::SSL::Host.indirection.search("*", {
|
|
83
|
+
:for => :certificate_request,
|
|
84
|
+
}).map { |h| h.inspect }
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
action :sign do
|
|
89
|
+
summary "Sign a certificate signing request for HOST."
|
|
90
|
+
arguments "<host>"
|
|
91
|
+
returns <<-EOT
|
|
92
|
+
A string that appears to be (but isn't) an x509 certificate.
|
|
93
|
+
EOT
|
|
94
|
+
examples <<-EOT
|
|
95
|
+
Sign somenode.puppetlabs.lan's certificate:
|
|
96
|
+
|
|
97
|
+
$ puppet certificate sign somenode.puppetlabs.lan --ca-location remote
|
|
98
|
+
EOT
|
|
99
|
+
|
|
100
|
+
option("--[no-]allow-dns-alt-names") do
|
|
101
|
+
summary "Whether or not to accept DNS alt names in the certificate request"
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
when_invoked do |name, options|
|
|
105
|
+
host = Puppet::SSL::Host.new(name)
|
|
106
|
+
if Puppet::SSL::Host.ca_location == :remote
|
|
107
|
+
if options[:allow_dns_alt_names]
|
|
108
|
+
raise ArgumentError, "--allow-dns-alt-names may not be specified with a remote CA"
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
host.desired_state = 'signed'
|
|
112
|
+
Puppet::SSL::Host.indirection.save(host)
|
|
113
|
+
else
|
|
114
|
+
# We have to do this case manually because we need to specify
|
|
115
|
+
# allow_dns_alt_names.
|
|
116
|
+
unless ca = Puppet::SSL::CertificateAuthority.instance
|
|
117
|
+
raise ArgumentError, "This process is not configured as a certificate authority"
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
ca.sign(name, options[:allow_dns_alt_names])
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Indirector action doc overrides
|
|
126
|
+
find = get_action(:find)
|
|
127
|
+
find.summary "Retrieve a certificate."
|
|
128
|
+
find.arguments "<host>"
|
|
129
|
+
find.render_as = :s
|
|
130
|
+
find.returns <<-EOT
|
|
131
|
+
An x509 SSL certificate.
|
|
132
|
+
|
|
133
|
+
Note that this action has a side effect of caching a copy of the
|
|
134
|
+
certificate in Puppet's `ssldir`.
|
|
135
|
+
EOT
|
|
136
|
+
|
|
137
|
+
destroy = get_action(:destroy)
|
|
138
|
+
destroy.summary "Delete a certificate."
|
|
139
|
+
destroy.arguments "<host>"
|
|
140
|
+
destroy.returns "Nothing."
|
|
141
|
+
destroy.description <<-EOT
|
|
142
|
+
Deletes a certificate. This action currently only works on the local CA.
|
|
143
|
+
EOT
|
|
144
|
+
|
|
145
|
+
get_action(:search).summary "Invalid for this subcommand."
|
|
146
|
+
get_action(:save).summary "Invalid for this subcommand."
|
|
147
|
+
get_action(:save).description "Invalid for this subcommand."
|
|
148
|
+
end
|