puppet 5.3.4 → 6.29.0
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.
- checksums.yaml +7 -0
- data/CODEOWNERS +11 -0
- data/CODE_OF_CONDUCT.md +70 -0
- data/CONTRIBUTING.md +59 -55
- data/Gemfile +52 -70
- data/Gemfile.lock +251 -0
- data/Guardfile.example +76 -0
- data/LICENSE +189 -4
- data/README.md +31 -37
- data/Rakefile +53 -52
- data/conf/auth.conf +7 -2
- data/conf/environment.conf +1 -1
- data/conf/fileserver.conf +1 -1
- data/conf/puppet.conf +4 -4
- data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
- data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
- data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +19 -20
- data/{ext → examples}/nagios/check_puppet.rb +2 -2
- data/ext/README.md +13 -0
- data/ext/build_defaults.yaml +1 -2
- data/ext/hiera/hiera.yaml +1 -1
- data/ext/osx/puppet.plist +2 -0
- data/ext/project_data.yaml +16 -12
- data/ext/redhat/client.init +2 -2
- data/ext/solaris/smf/puppet +11 -11
- data/ext/solaris/smf/puppet.xml +2 -0
- data/ext/windows/service/daemon.rb +40 -10
- data/install.rb +8 -27
- data/lib/hiera/puppet_function.rb +1 -1
- data/lib/hiera/scope.rb +31 -2
- data/lib/hiera_puppet.rb +2 -1
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/agent.rb +68 -26
- data/lib/puppet/application/agent.rb +107 -59
- data/lib/puppet/application/apply.rb +144 -74
- data/lib/puppet/application/cert.rb +27 -285
- data/lib/puppet/application/describe.rb +10 -15
- data/lib/puppet/application/device.rb +241 -89
- data/lib/puppet/application/doc.rb +8 -5
- data/lib/puppet/application/face_base.rb +23 -16
- data/lib/puppet/application/facts.rb +5 -0
- data/lib/puppet/application/filebucket.rb +51 -16
- data/lib/puppet/application/lookup.rb +92 -20
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/resource.rb +39 -23
- data/lib/puppet/application/script.rb +264 -0
- data/lib/puppet/application/ssl.rb +288 -0
- data/lib/puppet/application.rb +25 -9
- data/lib/puppet/application_support.rb +9 -3
- data/lib/puppet/concurrent/lock.rb +16 -0
- data/lib/puppet/concurrent/synchronized.rb +15 -0
- data/lib/puppet/concurrent/thread_local_singleton.rb +17 -0
- data/lib/puppet/concurrent.rb +2 -0
- data/lib/puppet/configurer/downloader.rb +36 -18
- data/lib/puppet/configurer/fact_handler.rb +5 -1
- data/lib/puppet/configurer/plugin_handler.rb +36 -11
- data/lib/puppet/configurer.rb +367 -152
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/confine/boolean.rb +45 -0
- data/lib/puppet/confine/false.rb +7 -1
- data/lib/puppet/confine/true.rb +7 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +6 -3
- data/lib/puppet/confine_collection.rb +2 -1
- data/lib/puppet/context/trusted_information.rb +48 -4
- data/lib/puppet/context.rb +120 -48
- data/lib/puppet/daemon.rb +17 -30
- data/lib/puppet/datatypes/error.rb +21 -0
- data/lib/puppet/datatypes/impl/error.rb +40 -0
- data/lib/puppet/datatypes.rb +213 -0
- data/lib/puppet/defaults.rb +651 -371
- data/lib/puppet/environments.rb +218 -105
- data/lib/puppet/error.rb +52 -4
- data/lib/puppet/etc.rb +26 -7
- data/lib/puppet/external/dot.rb +23 -24
- data/lib/puppet/external/pson/pure/generator.rb +1 -1
- data/lib/puppet/external/pson/pure/parser.rb +3 -2
- data/lib/puppet/face/catalog.rb +20 -1
- data/lib/puppet/face/config.rb +167 -32
- data/lib/puppet/face/epp.rb +52 -15
- data/lib/puppet/face/facts.rb +210 -0
- data/lib/puppet/face/generate.rb +2 -0
- data/lib/puppet/face/help/action.erb +5 -1
- data/lib/puppet/face/help/face.erb +2 -1
- data/lib/puppet/face/help/global.erb +2 -2
- data/lib/puppet/face/help/man.erb +1 -1
- data/lib/puppet/face/help.rb +80 -41
- data/lib/puppet/face/key.rb +1 -1
- data/lib/puppet/face/man.rb +55 -12
- data/lib/puppet/face/module/build.rb +5 -54
- data/lib/puppet/face/module/changes.rb +2 -1
- data/lib/puppet/face/module/generate.rb +6 -243
- data/lib/puppet/face/module/install.rb +1 -4
- data/lib/puppet/face/module/list.rb +5 -10
- data/lib/puppet/face/module/search.rb +13 -4
- data/lib/puppet/face/module/uninstall.rb +2 -5
- data/lib/puppet/face/module/upgrade.rb +2 -5
- data/lib/puppet/face/node/clean.rb +26 -12
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/parser.rb +78 -12
- data/lib/puppet/face/plugin.rb +9 -4
- data/lib/puppet/face/status.rb +3 -3
- data/lib/puppet/facter_impl.rb +96 -0
- data/lib/puppet/feature/base.rb +9 -28
- data/lib/puppet/feature/bolt.rb +3 -0
- data/lib/puppet/feature/eventlog.rb +1 -1
- data/lib/puppet/ffi/posix/constants.rb +14 -0
- data/lib/puppet/ffi/posix/functions.rb +24 -0
- data/lib/puppet/ffi/posix.rb +10 -0
- data/lib/puppet/file_bucket/dipper.rb +5 -5
- data/lib/puppet/file_bucket/file.rb +0 -2
- data/lib/puppet/file_serving/base.rb +16 -16
- data/lib/puppet/file_serving/configuration/parser.rb +2 -0
- data/lib/puppet/file_serving/configuration.rb +5 -1
- data/lib/puppet/file_serving/fileset.rb +17 -5
- data/lib/puppet/file_serving/http_metadata.rb +19 -5
- data/lib/puppet/file_serving/metadata.rb +12 -4
- data/lib/puppet/file_serving/mount/file.rb +6 -5
- data/lib/puppet/file_serving/mount/locales.rb +3 -3
- data/lib/puppet/file_serving/mount/modules.rb +4 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +3 -3
- data/lib/puppet/file_serving/mount/plugins.rb +3 -3
- data/lib/puppet/file_serving/mount/scripts.rb +24 -0
- data/lib/puppet/file_serving/mount/tasks.rb +4 -2
- data/lib/puppet/file_serving/terminus_selector.rb +7 -8
- data/lib/puppet/file_system/file_impl.rb +45 -11
- data/lib/puppet/file_system/jruby.rb +23 -0
- data/lib/puppet/file_system/memory_file.rb +15 -2
- data/lib/puppet/file_system/memory_impl.rb +13 -0
- data/lib/puppet/file_system/posix.rb +3 -2
- data/lib/puppet/file_system/uniquefile.rb +15 -17
- data/lib/puppet/file_system/windows.rb +85 -2
- data/lib/puppet/file_system.rb +29 -15
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/errors.rb +5 -5
- data/lib/puppet/forge/repository.rb +28 -87
- data/lib/puppet/forge.rb +45 -22
- data/lib/puppet/functions/abs.rb +61 -0
- data/lib/puppet/functions/alert.rb +1 -1
- data/lib/puppet/functions/all.rb +15 -11
- data/lib/puppet/functions/annotate.rb +11 -11
- data/lib/puppet/functions/any.rb +15 -11
- data/lib/puppet/functions/assert_type.rb +7 -7
- data/lib/puppet/functions/binary_file.rb +14 -2
- data/lib/puppet/functions/break.rb +34 -9
- data/lib/puppet/functions/call.rb +43 -5
- data/lib/puppet/functions/camelcase.rb +62 -0
- data/lib/puppet/functions/capitalize.rb +61 -0
- data/lib/puppet/functions/ceiling.rb +37 -0
- data/lib/puppet/functions/chomp.rb +57 -0
- data/lib/puppet/functions/chop.rb +67 -0
- data/lib/puppet/functions/compare.rb +125 -0
- data/lib/puppet/functions/contain.rb +25 -3
- data/lib/puppet/functions/convert_to.rb +34 -0
- data/lib/puppet/functions/crit.rb +1 -1
- data/lib/puppet/functions/debug.rb +1 -1
- data/lib/puppet/functions/defined.rb +11 -12
- data/lib/puppet/functions/dig.rb +47 -3
- data/lib/puppet/functions/downcase.rb +89 -0
- data/lib/puppet/functions/each.rb +20 -16
- data/lib/puppet/functions/emerg.rb +1 -1
- data/lib/puppet/functions/empty.rb +85 -0
- data/lib/puppet/functions/epp.rb +5 -4
- data/lib/puppet/functions/err.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +21 -15
- data/lib/puppet/functions/filter.rb +31 -23
- data/lib/puppet/functions/find_file.rb +15 -2
- data/lib/puppet/functions/find_template.rb +63 -0
- data/lib/puppet/functions/flatten.rb +64 -0
- data/lib/puppet/functions/floor.rb +37 -0
- data/lib/puppet/functions/get.rb +150 -0
- data/lib/puppet/functions/getvar.rb +87 -0
- data/lib/puppet/functions/group_by.rb +62 -0
- data/lib/puppet/functions/hiera.rb +11 -11
- data/lib/puppet/functions/hiera_array.rb +11 -11
- data/lib/puppet/functions/hiera_hash.rb +12 -12
- data/lib/puppet/functions/hiera_include.rb +15 -15
- data/lib/puppet/functions/hocon_data.rb +1 -1
- data/lib/puppet/functions/include.rb +34 -2
- data/lib/puppet/functions/index.rb +167 -0
- data/lib/puppet/functions/info.rb +1 -1
- data/lib/puppet/functions/inline_epp.rb +8 -7
- data/lib/puppet/functions/join.rb +56 -0
- data/lib/puppet/functions/json_data.rb +3 -3
- data/lib/puppet/functions/keys.rb +25 -0
- data/lib/puppet/functions/length.rb +44 -0
- data/lib/puppet/functions/lest.rb +39 -1
- data/lib/puppet/functions/lookup.rb +3 -2
- data/lib/puppet/functions/lstrip.rb +58 -0
- data/lib/puppet/functions/map.rb +22 -18
- data/lib/puppet/functions/match.rb +19 -9
- data/lib/puppet/functions/max.rb +183 -0
- data/lib/puppet/functions/min.rb +182 -0
- data/lib/puppet/functions/module_directory.rb +41 -0
- data/lib/puppet/functions/new.rb +987 -8
- data/lib/puppet/functions/next.rb +20 -10
- data/lib/puppet/functions/notice.rb +1 -1
- data/lib/puppet/functions/partition.rb +62 -0
- data/lib/puppet/functions/reduce.rb +9 -11
- data/lib/puppet/functions/regsubst.rb +60 -35
- data/lib/puppet/functions/require.rb +42 -2
- data/lib/puppet/functions/return.rb +2 -9
- data/lib/puppet/functions/reverse_each.rb +72 -3
- data/lib/puppet/functions/round.rb +24 -0
- data/lib/puppet/functions/rstrip.rb +58 -0
- data/lib/puppet/functions/size.rb +15 -0
- data/lib/puppet/functions/slice.rb +23 -9
- data/lib/puppet/functions/sort.rb +74 -0
- data/lib/puppet/functions/split.rb +12 -10
- data/lib/puppet/functions/step.rb +74 -2
- data/lib/puppet/functions/strftime.rb +179 -10
- data/lib/puppet/functions/strip.rb +58 -0
- data/lib/puppet/functions/then.rb +65 -2
- data/lib/puppet/functions/tree_each.rb +32 -35
- data/lib/puppet/functions/type.rb +42 -1
- data/lib/puppet/functions/unique.rb +13 -13
- data/lib/puppet/functions/unwrap.rb +25 -6
- data/lib/puppet/functions/upcase.rb +89 -0
- data/lib/puppet/functions/values.rb +25 -0
- data/lib/puppet/functions/versioncmp.rb +7 -3
- data/lib/puppet/functions/warning.rb +1 -1
- data/lib/puppet/functions/with.rb +9 -7
- data/lib/puppet/functions/yaml_data.rb +11 -9
- data/lib/puppet/functions.rb +208 -91
- data/lib/puppet/generate/type.rb +12 -2
- data/lib/puppet/gettext/config.rb +31 -8
- data/lib/puppet/gettext/module_translations.rb +5 -5
- data/lib/puppet/gettext/stubs.rb +1 -1
- data/lib/puppet/graph/rb_tree_map.rb +2 -2
- data/lib/puppet/graph/relationship_graph.rb +2 -1
- data/lib/puppet/graph/simple_graph.rb +16 -10
- data/lib/puppet/graph.rb +0 -2
- data/lib/puppet/http/client.rb +468 -0
- data/lib/puppet/http/errors.rb +32 -0
- data/lib/puppet/http/external_client.rb +90 -0
- data/lib/puppet/http/redirector.rb +89 -0
- data/lib/puppet/http/resolver/server_list.rb +91 -0
- data/lib/puppet/http/resolver/settings.rb +26 -0
- data/lib/puppet/http/resolver/srv.rb +45 -0
- data/lib/puppet/http/resolver.rb +58 -0
- data/lib/puppet/http/response.rb +120 -0
- data/lib/puppet/http/retry_after_handler.rb +86 -0
- data/lib/puppet/http/service/ca.rb +112 -0
- data/lib/puppet/http/service/compiler.rb +393 -0
- data/lib/puppet/http/service/file_server.rb +207 -0
- data/lib/puppet/http/service/puppetserver.rb +39 -0
- data/lib/puppet/http/service/report.rb +66 -0
- data/lib/puppet/http/service.rb +196 -0
- data/lib/puppet/http/session.rb +131 -0
- data/lib/puppet/http.rb +37 -0
- data/lib/puppet/indirector/catalog/compiler.rb +60 -22
- data/lib/puppet/indirector/catalog/json.rb +14 -3
- data/lib/puppet/indirector/catalog/rest.rb +35 -0
- data/lib/puppet/indirector/catalog/yaml.rb +0 -16
- data/lib/puppet/indirector/certificate/file.rb +1 -1
- data/lib/puppet/indirector/certificate/rest.rb +3 -1
- data/lib/puppet/indirector/certificate_request/file.rb +1 -0
- data/lib/puppet/indirector/certificate_request/memory.rb +1 -0
- data/lib/puppet/indirector/certificate_request/rest.rb +1 -0
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/face.rb +2 -2
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +31 -12
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +63 -0
- data/lib/puppet/indirector/facts/yaml.rb +7 -64
- data/lib/puppet/indirector/file_bucket_file/file.rb +7 -3
- data/lib/puppet/indirector/file_bucket_file/rest.rb +48 -0
- data/lib/puppet/indirector/file_content/http.rb +8 -1
- data/lib/puppet/indirector/file_content/rest.rb +30 -0
- data/lib/puppet/indirector/file_metadata/http.rb +28 -8
- data/lib/puppet/indirector/file_metadata/rest.rb +53 -0
- data/lib/puppet/indirector/file_server.rb +5 -3
- data/lib/puppet/indirector/hiera.rb +6 -0
- data/lib/puppet/indirector/indirection.rb +59 -31
- data/lib/puppet/indirector/json.rb +6 -2
- data/lib/puppet/indirector/key/file.rb +2 -6
- data/lib/puppet/indirector/key/memory.rb +1 -0
- data/lib/puppet/indirector/msgpack.rb +2 -2
- data/lib/puppet/indirector/node/exec.rb +4 -5
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/node/rest.rb +24 -0
- data/lib/puppet/indirector/node/yaml.rb +0 -6
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/processor.rb +4 -3
- data/lib/puppet/indirector/report/rest.rb +19 -0
- data/lib/puppet/indirector/report/yaml.rb +23 -0
- data/lib/puppet/indirector/request.rb +49 -28
- data/lib/puppet/indirector/resource/ral.rb +7 -4
- data/lib/puppet/indirector/resource/validator.rb +1 -1
- data/lib/puppet/indirector/rest.rb +30 -66
- data/lib/puppet/indirector/ssl_file.rb +13 -52
- data/lib/puppet/indirector/status/rest.rb +18 -0
- data/lib/puppet/indirector/terminus.rb +11 -4
- data/lib/puppet/indirector/yaml.rb +5 -5
- data/lib/puppet/indirector.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +1 -1
- data/lib/puppet/info_service/plan_information_service.rb +36 -0
- data/lib/puppet/info_service/task_information_service.rb +7 -3
- data/lib/puppet/info_service.rb +9 -0
- data/lib/puppet/interface/action.rb +23 -10
- data/lib/puppet/interface/action_builder.rb +8 -0
- data/lib/puppet/interface/action_manager.rb +2 -1
- data/lib/puppet/interface/documentation.rb +11 -7
- data/lib/puppet/interface/face_collection.rb +9 -4
- data/lib/puppet/interface/option.rb +4 -2
- data/lib/puppet/interface/option_manager.rb +5 -3
- data/lib/puppet/interface.rb +5 -3
- data/lib/puppet/loaders.rb +10 -1
- data/lib/puppet/metatype/manager.rb +81 -83
- data/lib/puppet/module/plan.rb +159 -0
- data/lib/puppet/module/task.rb +216 -32
- data/lib/puppet/module.rb +51 -39
- data/lib/puppet/module_tool/applications/application.rb +7 -6
- data/lib/puppet/module_tool/applications/checksummer.rb +3 -3
- data/lib/puppet/module_tool/applications/installer.rb +72 -13
- data/lib/puppet/module_tool/applications/uninstaller.rb +6 -5
- data/lib/puppet/module_tool/applications/unpacker.rb +4 -4
- data/lib/puppet/module_tool/applications/upgrader.rb +12 -8
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/contents_description.rb +2 -1
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/shared.rb +34 -2
- data/lib/puppet/module_tool/installed_modules.rb +3 -3
- data/lib/puppet/module_tool/local_tarball.rb +3 -3
- data/lib/puppet/module_tool/metadata.rb +5 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +8 -7
- data/lib/puppet/module_tool/tar/mini.rb +14 -4
- data/lib/puppet/module_tool.rb +4 -6
- data/lib/puppet/network/authconfig.rb +5 -16
- data/lib/puppet/network/authstore.rb +3 -2
- data/lib/puppet/network/format_support.rb +15 -10
- data/lib/puppet/network/formats.rb +168 -10
- data/lib/puppet/network/http/api/indirected_routes.rb +31 -20
- data/lib/puppet/network/http/api/master/v3/environment.rb +5 -2
- data/lib/puppet/network/http/api/master/v3/environments.rb +2 -3
- data/lib/puppet/network/http/api.rb +1 -10
- data/lib/puppet/network/http/base_pool.rb +36 -0
- data/lib/puppet/network/http/compression.rb +8 -1
- data/lib/puppet/network/http/connection.rb +59 -36
- data/lib/puppet/network/http/connection_adapter.rb +184 -0
- data/lib/puppet/network/http/error.rb +3 -3
- data/lib/puppet/network/http/factory.rb +16 -18
- data/lib/puppet/network/http/handler.rb +60 -27
- data/lib/puppet/network/http/nocache_pool.rb +11 -4
- data/lib/puppet/network/http/pool.rb +24 -16
- data/lib/puppet/network/http/request.rb +2 -1
- data/lib/puppet/network/http/route.rb +4 -3
- data/lib/puppet/network/http/session.rb +3 -2
- data/lib/puppet/network/http/site.rb +5 -1
- data/lib/puppet/network/http.rb +2 -7
- data/lib/puppet/network/http_pool.rb +35 -1
- data/lib/puppet/network/resolver.rb +140 -67
- data/lib/puppet/network/rights.rb +3 -2
- data/lib/puppet/network/uri.rb +18 -0
- data/lib/puppet/node/environment.rb +65 -62
- data/lib/puppet/node/facts.rb +28 -1
- data/lib/puppet/node.rb +65 -8
- data/lib/puppet/pal/catalog_compiler.rb +108 -0
- data/lib/puppet/pal/compiler.rb +222 -0
- data/lib/puppet/pal/function_signature.rb +52 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
- data/lib/puppet/pal/pal_api.rb +15 -0
- data/lib/puppet/pal/pal_impl.rb +588 -0
- data/lib/puppet/pal/plan_signature.rb +71 -0
- data/lib/puppet/pal/script_compiler.rb +73 -0
- data/lib/puppet/pal/task_signature.rb +58 -0
- data/lib/puppet/parameter/boolean.rb +1 -1
- data/lib/puppet/parameter/value_collection.rb +8 -8
- data/lib/puppet/parameter.rb +17 -10
- data/lib/puppet/parser/abstract_compiler.rb +36 -0
- data/lib/puppet/parser/ast/branch.rb +4 -4
- data/lib/puppet/parser/ast/leaf.rb +10 -4
- data/lib/puppet/parser/ast/pops_bridge.rb +34 -68
- data/lib/puppet/parser/ast/resourceparam.rb +1 -1
- data/lib/puppet/parser/ast.rb +5 -9
- data/lib/puppet/parser/catalog_compiler.rb +56 -0
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +3 -1
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +9 -2
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +2 -0
- data/lib/puppet/parser/compiler.rb +73 -93
- data/lib/puppet/parser/environment_compiler.rb +4 -1
- data/lib/puppet/parser/files.rb +2 -1
- data/lib/puppet/parser/functions/assert_type.rb +3 -3
- data/lib/puppet/parser/functions/create_resources.rb +18 -14
- data/lib/puppet/parser/functions/each.rb +2 -2
- data/lib/puppet/parser/functions/epp.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +8 -1
- data/lib/puppet/parser/functions/filter.rb +3 -2
- data/lib/puppet/parser/functions/fqdn_rand.rb +27 -4
- data/lib/puppet/parser/functions/generate.rb +8 -7
- data/lib/puppet/parser/functions/hiera.rb +4 -4
- data/lib/puppet/parser/functions/hiera_array.rb +5 -5
- data/lib/puppet/parser/functions/hiera_hash.rb +6 -6
- data/lib/puppet/parser/functions/hiera_include.rb +10 -11
- data/lib/puppet/parser/functions/inline_epp.rb +5 -5
- data/lib/puppet/parser/functions/inline_template.rb +7 -1
- data/lib/puppet/parser/functions/lest.rb +1 -1
- data/lib/puppet/parser/functions/lookup.rb +1 -1
- data/lib/puppet/parser/functions/map.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +32 -47
- data/lib/puppet/parser/functions/realize.rb +6 -0
- data/lib/puppet/parser/functions/reduce.rb +1 -1
- data/lib/puppet/parser/functions/return.rb +22 -1
- data/lib/puppet/parser/functions/reverse_each.rb +2 -2
- data/lib/puppet/parser/functions/scanf.rb +1 -1
- data/lib/puppet/parser/functions/sha256.rb +5 -0
- data/lib/puppet/parser/functions/sprintf.rb +12 -1
- data/lib/puppet/parser/functions/step.rb +1 -1
- data/lib/puppet/parser/functions/tag.rb +6 -0
- data/lib/puppet/parser/functions/tagged.rb +6 -3
- data/lib/puppet/parser/functions/template.rb +5 -0
- data/lib/puppet/parser/functions/then.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +4 -4
- data/lib/puppet/parser/functions.rb +60 -17
- data/lib/puppet/parser/parser_factory.rb +1 -1
- data/lib/puppet/parser/relationship.rb +2 -1
- data/lib/puppet/parser/resource/param.rb +18 -5
- data/lib/puppet/parser/resource.rb +11 -8
- data/lib/puppet/parser/scope.rb +48 -22
- data/lib/puppet/parser/script_compiler.rb +123 -0
- data/lib/puppet/parser/templatewrapper.rb +4 -2
- data/lib/puppet/parser/type_loader.rb +15 -14
- data/lib/puppet/parser.rb +1 -0
- data/lib/puppet/plugins/configuration.rb +5 -1
- data/lib/puppet/pops/adaptable.rb +8 -17
- data/lib/puppet/pops/adapters.rb +22 -4
- data/lib/puppet/pops/evaluator/access_operator.rb +39 -5
- data/lib/puppet/pops/evaluator/closure.rb +19 -9
- data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -1
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +3 -2
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +2 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +7 -5
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +132 -0
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +15 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +82 -16
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +6 -5
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +24 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +5 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +18 -21
- data/lib/puppet/pops/functions/dispatch.rb +13 -6
- data/lib/puppet/pops/functions/function.rb +2 -2
- data/lib/puppet/pops/issue_reporter.rb +18 -1
- data/lib/puppet/pops/issues.rb +73 -10
- data/lib/puppet/pops/loader/base_loader.rb +14 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +11 -2
- data/lib/puppet/pops/loader/gem_support.rb +4 -2
- data/lib/puppet/pops/loader/generic_plan_instantiator.rb +28 -0
- data/lib/puppet/pops/loader/loader.rb +26 -5
- data/lib/puppet/pops/loader/loader_paths.rb +221 -32
- data/lib/puppet/pops/loader/module_loaders.rb +242 -40
- data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +93 -0
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +9 -9
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +39 -0
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -2
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +121 -0
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +10 -3
- data/lib/puppet/pops/loader/static_loader.rb +23 -44
- data/lib/puppet/pops/loader/task_instantiator.rb +44 -0
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +8 -1
- data/lib/puppet/pops/loaders.rb +169 -50
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +16 -2
- data/lib/puppet/pops/lookup/interpolation.rb +3 -2
- data/lib/puppet/pops/lookup/invocation.rb +10 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +18 -0
- data/lib/puppet/pops/lookup/lookup_adapter.rb +65 -9
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/lookup.rb +1 -0
- data/lib/puppet/pops/merge_strategy.rb +22 -18
- data/lib/puppet/pops/model/ast.pp +19 -0
- data/lib/puppet/pops/model/ast.rb +129 -1
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +93 -13
- data/lib/puppet/pops/model/model_label_provider.rb +9 -1
- data/lib/puppet/pops/model/model_tree_dumper.rb +16 -1
- data/lib/puppet/pops/model/pn_transformer.rb +401 -0
- data/lib/puppet/pops/model/tree_dumper.rb +1 -1
- data/lib/puppet/pops/parser/code_merger.rb +4 -4
- data/lib/puppet/pops/parser/egrammar.ra +60 -18
- data/lib/puppet/pops/parser/eparser.rb +1926 -1745
- data/lib/puppet/pops/parser/epp_parser.rb +1 -1
- data/lib/puppet/pops/parser/epp_support.rb +9 -6
- data/lib/puppet/pops/parser/evaluating_parser.rb +9 -12
- data/lib/puppet/pops/parser/heredoc_support.rb +20 -10
- data/lib/puppet/pops/parser/interpolation_support.rb +16 -11
- data/lib/puppet/pops/parser/lexer2.rb +109 -100
- data/lib/puppet/pops/parser/lexer_support.rb +5 -4
- data/lib/puppet/pops/parser/locatable.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +116 -103
- data/lib/puppet/pops/parser/parser_support.rb +14 -5
- data/lib/puppet/pops/parser/pn_parser.rb +317 -0
- data/lib/puppet/pops/parser/slurp_support.rb +1 -3
- data/lib/puppet/pops/pcore.rb +43 -10
- data/lib/puppet/pops/pn.rb +236 -0
- data/lib/puppet/pops/puppet_stack.rb +55 -37
- data/lib/puppet/pops/resource/param.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +4 -2
- data/lib/puppet/pops/serialization/abstract_reader.rb +4 -0
- data/lib/puppet/pops/serialization/abstract_writer.rb +6 -0
- data/lib/puppet/pops/serialization/extension.rb +1 -0
- data/lib/puppet/pops/serialization/from_data_converter.rb +68 -13
- data/lib/puppet/pops/serialization/json.rb +7 -7
- data/lib/puppet/pops/serialization/json_path.rb +5 -4
- data/lib/puppet/pops/serialization/object.rb +3 -4
- data/lib/puppet/pops/serialization/serializer.rb +2 -1
- data/lib/puppet/pops/serialization/to_data_converter.rb +24 -12
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +226 -0
- data/lib/puppet/pops/serialization.rb +4 -2
- data/lib/puppet/pops/time/timespan.rb +4 -6
- data/lib/puppet/pops/types/class_loader.rb +6 -3
- data/lib/puppet/pops/types/implementation_registry.rb +28 -35
- data/lib/puppet/pops/types/iterable.rb +68 -13
- data/lib/puppet/pops/types/p_binary_type.rb +1 -2
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_meta_type.rb +5 -1
- data/lib/puppet/pops/types/p_object_type.rb +152 -17
- data/lib/puppet/pops/types/p_object_type_extension.rb +228 -0
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +0 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +18 -4
- data/lib/puppet/pops/types/p_sensitive_type.rb +11 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +4 -4
- data/lib/puppet/pops/types/p_type_set_type.rb +28 -2
- data/lib/puppet/pops/types/p_uri_type.rb +190 -0
- data/lib/puppet/pops/types/puppet_object.rb +15 -1
- data/lib/puppet/pops/types/ruby_generator.rb +49 -58
- data/lib/puppet/pops/types/string_converter.rb +55 -23
- data/lib/puppet/pops/types/tree_iterators.rb +5 -1
- data/lib/puppet/pops/types/type_acceptor.rb +1 -1
- data/lib/puppet/pops/types/type_calculator.rb +45 -16
- data/lib/puppet/pops/types/type_factory.rb +46 -9
- data/lib/puppet/pops/types/type_formatter.rb +79 -17
- data/lib/puppet/pops/types/type_mismatch_describer.rb +3 -3
- data/lib/puppet/pops/types/type_parser.rb +112 -15
- data/lib/puppet/pops/types/type_with_members.rb +43 -0
- data/lib/puppet/pops/types/types.rb +231 -115
- data/lib/puppet/pops/utils.rb +2 -2
- data/lib/puppet/pops/validation/checker4_0.rb +181 -12
- data/lib/puppet/pops/validation/tasks_checker.rb +105 -0
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +14 -8
- data/lib/puppet/pops/validation.rb +13 -20
- data/lib/puppet/pops/visitor.rb +12 -6
- data/lib/puppet/pops.rb +2 -1
- data/lib/puppet/property/ensure.rb +3 -2
- data/lib/puppet/property/keyvalue.rb +72 -9
- data/lib/puppet/property/list.rb +3 -2
- data/lib/puppet/property.rb +21 -18
- data/lib/puppet/provider/aix_object.rb +485 -0
- data/lib/puppet/provider/exec/posix.rb +16 -4
- data/lib/puppet/provider/exec.rb +71 -64
- data/lib/puppet/provider/file/posix.rb +11 -3
- data/lib/puppet/provider/file/windows.rb +50 -2
- data/lib/puppet/provider/group/aix.rb +69 -113
- data/lib/puppet/provider/group/groupadd.rb +92 -24
- data/lib/puppet/provider/group/ldap.rb +7 -4
- data/lib/puppet/provider/group/pw.rb +4 -2
- data/lib/puppet/provider/group/windows_adsi.rb +12 -8
- data/lib/puppet/provider/ldap.rb +8 -4
- data/lib/puppet/provider/nameservice/directoryservice.rb +12 -8
- data/lib/puppet/provider/nameservice/objectadd.rb +13 -24
- data/lib/puppet/provider/nameservice/pw.rb +14 -14
- data/lib/puppet/provider/nameservice.rb +20 -29
- data/lib/puppet/provider/network_device.rb +4 -2
- data/lib/puppet/provider/package/aix.rb +21 -4
- data/lib/puppet/provider/package/appdmg.rb +4 -3
- data/lib/puppet/provider/package/apple.rb +2 -2
- data/lib/puppet/provider/package/apt.rb +156 -10
- data/lib/puppet/provider/package/aptitude.rb +7 -1
- data/lib/puppet/provider/package/blastwave.rb +2 -1
- data/lib/puppet/provider/package/dnf.rb +7 -4
- data/lib/puppet/provider/package/dnfmodule.rb +141 -0
- data/lib/puppet/provider/package/dpkg.rb +51 -14
- data/lib/puppet/provider/package/fink.rb +22 -4
- data/lib/puppet/provider/package/gem.rb +151 -53
- data/lib/puppet/provider/package/macports.rb +8 -5
- data/lib/puppet/provider/package/nim.rb +19 -10
- data/lib/puppet/provider/package/openbsd.rb +30 -12
- data/lib/puppet/provider/package/opkg.rb +2 -1
- data/lib/puppet/provider/package/pacman.rb +9 -12
- data/lib/puppet/provider/package/pip.rb +271 -115
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/pip3.rb +2 -5
- data/lib/puppet/provider/package/pkg.rb +57 -10
- data/lib/puppet/provider/package/pkgdmg.rb +8 -7
- data/lib/puppet/provider/package/pkgng.rb +56 -26
- data/lib/puppet/provider/package/pkgutil.rb +4 -3
- data/lib/puppet/provider/package/portage.rb +32 -23
- data/lib/puppet/provider/package/portupgrade.rb +2 -1
- data/lib/puppet/provider/package/puppet_gem.rb +12 -3
- data/lib/puppet/provider/package/puppetserver_gem.rb +171 -0
- data/lib/puppet/provider/package/rpm.rb +87 -242
- data/lib/puppet/provider/package/sun.rb +2 -2
- data/lib/puppet/provider/package/windows/exe_package.rb +45 -10
- data/lib/puppet/provider/package/windows/msi_package.rb +8 -0
- data/lib/puppet/provider/package/windows/package.rb +14 -4
- data/lib/puppet/provider/package/windows.rb +21 -4
- data/lib/puppet/provider/package/yum.rb +143 -39
- data/lib/puppet/provider/package/zypper.rb +68 -7
- data/lib/puppet/provider/package.rb +4 -1
- data/lib/puppet/provider/package_targetable.rb +69 -0
- data/lib/puppet/provider/parsedfile.rb +43 -12
- data/lib/puppet/provider/service/base.rb +10 -7
- data/lib/puppet/provider/service/daemontools.rb +9 -9
- data/lib/puppet/provider/service/debian.rb +3 -0
- data/lib/puppet/provider/service/init.rb +11 -9
- data/lib/puppet/provider/service/launchd.rb +49 -17
- data/lib/puppet/provider/service/openbsd.rb +1 -1
- data/lib/puppet/provider/service/rcng.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +3 -2
- data/lib/puppet/provider/service/runit.rb +2 -8
- data/lib/puppet/provider/service/service.rb +2 -1
- data/lib/puppet/provider/service/smf.rb +60 -6
- data/lib/puppet/provider/service/systemd.rb +70 -26
- data/lib/puppet/provider/service/upstart.rb +39 -13
- data/lib/puppet/provider/service/windows.rb +117 -41
- data/lib/puppet/provider/user/aix.rb +223 -244
- data/lib/puppet/provider/user/directoryservice.rb +72 -16
- data/lib/puppet/provider/user/hpux.rb +2 -2
- data/lib/puppet/provider/user/ldap.rb +8 -4
- data/lib/puppet/provider/user/openbsd.rb +3 -2
- data/lib/puppet/provider/user/pw.rb +15 -5
- data/lib/puppet/provider/user/user_role_add.rb +17 -5
- data/lib/puppet/provider/user/useradd.rb +237 -62
- data/lib/puppet/provider/user/windows_adsi.rb +26 -2
- data/lib/puppet/provider.rb +41 -19
- data/lib/puppet/reference/configuration.rb +12 -3
- data/lib/puppet/reference/indirection.rb +2 -2
- data/lib/puppet/reference/metaparameter.rb +1 -3
- data/lib/puppet/reference/providers.rb +6 -7
- data/lib/puppet/reference/report.rb +1 -1
- data/lib/puppet/reference/type.rb +14 -19
- data/lib/puppet/relationship.rb +4 -9
- data/lib/puppet/reports/http.rb +15 -8
- data/lib/puppet/reports/store.rb +1 -1
- data/lib/puppet/reports.rb +3 -3
- data/lib/puppet/resource/capability_finder.rb +18 -14
- data/lib/puppet/resource/catalog.rb +49 -64
- data/lib/puppet/resource/status.rb +11 -3
- data/lib/puppet/resource/type.rb +28 -11
- data/lib/puppet/resource/type_collection.rb +27 -20
- data/lib/puppet/resource.rb +100 -24
- data/lib/puppet/rest/errors.rb +15 -0
- data/lib/puppet/rest/response.rb +35 -0
- data/lib/puppet/rest/route.rb +85 -0
- data/lib/puppet/rest/routes.rb +135 -0
- data/lib/puppet/runtime.rb +66 -0
- data/lib/puppet/settings/alias_setting.rb +37 -0
- data/lib/puppet/settings/base_setting.rb +34 -4
- data/lib/puppet/settings/config_file.rb +5 -5
- data/lib/puppet/settings/environment_conf.rb +12 -2
- data/lib/puppet/settings/file_setting.rb +3 -2
- data/lib/puppet/settings/http_extra_headers_setting.rb +25 -0
- data/lib/puppet/settings/ini_file.rb +67 -12
- data/lib/puppet/settings/server_list_setting.rb +9 -0
- data/lib/puppet/settings/ttl_setting.rb +5 -0
- data/lib/puppet/settings.rb +220 -67
- data/lib/puppet/ssl/base.rb +4 -11
- data/lib/puppet/ssl/certificate.rb +11 -4
- data/lib/puppet/ssl/certificate_request.rb +31 -23
- data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
- data/lib/puppet/ssl/certificate_signer.rb +11 -0
- data/lib/puppet/ssl/error.rb +26 -0
- data/lib/puppet/ssl/host.rb +291 -186
- data/lib/puppet/ssl/key.rb +5 -7
- data/lib/puppet/ssl/oids.rb +4 -3
- data/lib/puppet/ssl/openssl_loader.rb +24 -0
- data/lib/puppet/ssl/ssl_context.rb +30 -0
- data/lib/puppet/ssl/ssl_provider.rb +333 -0
- data/lib/puppet/ssl/state_machine.rb +472 -0
- data/lib/puppet/ssl/validator/default_validator.rb +61 -25
- data/lib/puppet/ssl/validator/no_validator.rb +3 -1
- data/lib/puppet/ssl/validator.rb +2 -1
- data/lib/puppet/ssl/verifier.rb +140 -0
- data/lib/puppet/ssl/verifier_adapter.rb +58 -0
- data/lib/puppet/ssl.rb +9 -3
- data/lib/puppet/syntax_checkers/base64.rb +1 -1
- data/lib/puppet/syntax_checkers/epp.rb +34 -0
- data/lib/puppet/syntax_checkers/json.rb +1 -1
- data/lib/puppet/syntax_checkers/pp.rb +34 -0
- data/lib/puppet/test/test_helper.rb +33 -18
- data/lib/puppet/thread_local.rb +7 -0
- data/lib/puppet/transaction/additional_resource_generator.rb +3 -3
- data/lib/puppet/transaction/event.rb +40 -16
- data/lib/puppet/transaction/event_manager.rb +17 -5
- data/lib/puppet/transaction/persistence.rb +22 -2
- data/lib/puppet/transaction/report.rb +57 -34
- data/lib/puppet/transaction/resource_harness.rb +9 -4
- data/lib/puppet/transaction.rb +77 -23
- data/lib/puppet/trusted_external.rb +41 -0
- data/lib/puppet/type/component.rb +2 -1
- data/lib/puppet/type/exec.rb +156 -66
- data/lib/puppet/type/file/checksum.rb +10 -4
- data/lib/puppet/type/file/checksum_value.rb +4 -3
- data/lib/puppet/type/file/content.rb +24 -8
- data/lib/puppet/type/file/ctime.rb +2 -1
- data/lib/puppet/type/file/data_sync.rb +8 -3
- data/lib/puppet/type/file/ensure.rb +11 -8
- data/lib/puppet/type/file/mode.rb +15 -3
- data/lib/puppet/type/file/mtime.rb +2 -1
- data/lib/puppet/type/file/selcontext.rb +2 -1
- data/lib/puppet/type/file/source.rb +98 -75
- data/lib/puppet/type/file/target.rb +2 -1
- data/lib/puppet/type/file/type.rb +2 -1
- data/lib/puppet/type/file.rb +146 -51
- data/lib/puppet/type/filebucket.rb +15 -11
- data/lib/puppet/type/group.rb +43 -12
- data/lib/puppet/type/notify.rb +6 -5
- data/lib/puppet/type/package.rb +185 -35
- data/lib/puppet/type/resources.rb +15 -4
- data/lib/puppet/type/schedule.rb +59 -99
- data/lib/puppet/type/service.rb +76 -25
- data/lib/puppet/type/stage.rb +1 -1
- data/lib/puppet/type/tidy.rb +57 -18
- data/lib/puppet/type/user.rb +186 -101
- data/lib/puppet/type.rb +159 -90
- data/lib/puppet/util/at_fork.rb +1 -1
- data/lib/puppet/util/autoload.rb +51 -62
- data/lib/puppet/util/backups.rb +1 -1
- data/lib/puppet/util/character_encoding.rb +11 -29
- data/lib/puppet/util/checksums.rb +101 -7
- data/lib/puppet/util/classgen.rb +12 -12
- data/lib/puppet/util/command_line/trollop.rb +1 -1
- data/lib/puppet/util/command_line.rb +16 -10
- data/lib/puppet/util/connection.rb +88 -0
- data/lib/puppet/util/diff.rb +4 -2
- data/lib/puppet/util/errors.rb +0 -2
- data/lib/puppet/util/execution.rb +28 -11
- data/lib/puppet/util/fact_dif.rb +81 -0
- data/lib/puppet/util/feature.rb +77 -43
- data/lib/puppet/util/fileparsing.rb +79 -46
- data/lib/puppet/util/filetype.rb +62 -13
- data/lib/puppet/util/http_proxy.rb +37 -25
- data/lib/puppet/util/inifile.rb +3 -4
- data/lib/puppet/util/instance_loader.rb +16 -29
- data/lib/puppet/util/json.rb +89 -0
- data/lib/puppet/util/json_lockfile.rb +3 -3
- data/lib/puppet/util/ldap/connection.rb +11 -9
- data/lib/puppet/util/ldap/manager.rb +6 -3
- data/lib/puppet/util/log/destinations.rb +21 -17
- data/lib/puppet/util/log.rb +26 -17
- data/lib/puppet/util/logging.rb +36 -47
- data/lib/puppet/util/metric.rb +4 -3
- data/lib/puppet/util/monkey_patches.rb +76 -23
- data/lib/puppet/util/network_device/base.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +2 -3
- data/lib/puppet/util/package/version/debian.rb +175 -0
- data/lib/puppet/util/package/version/gem.rb +15 -0
- data/lib/puppet/util/package/version/pip.rb +167 -0
- data/lib/puppet/util/package/version/range/eq.rb +14 -0
- data/lib/puppet/util/package/version/range/gt.rb +14 -0
- data/lib/puppet/util/package/version/range/gt_eq.rb +14 -0
- data/lib/puppet/util/package/version/range/lt.rb +14 -0
- data/lib/puppet/util/package/version/range/lt_eq.rb +14 -0
- data/lib/puppet/util/package/version/range/min_max.rb +21 -0
- data/lib/puppet/util/package/version/range/simple.rb +11 -0
- data/lib/puppet/util/package/version/range.rb +53 -0
- data/lib/puppet/util/package/version/rpm.rb +73 -0
- data/lib/puppet/util/package.rb +25 -16
- data/lib/puppet/util/pidlock.rb +45 -5
- data/lib/puppet/util/platform.rb +48 -0
- data/lib/puppet/util/plist.rb +10 -4
- data/lib/puppet/util/posix.rb +69 -3
- data/lib/puppet/util/provider_features.rb +5 -10
- data/lib/puppet/util/rdoc/code_objects.rb +2 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +6 -4
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +2 -2
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc.rb +2 -2
- data/lib/puppet/util/reference.rb +10 -16
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +193 -0
- data/lib/puppet/util/rubygems.rb +6 -14
- data/lib/puppet/util/run_mode.rb +6 -2
- data/lib/puppet/util/selinux.rb +41 -8
- data/lib/puppet/util/skip_tags.rb +4 -0
- data/lib/puppet/util/ssl.rb +31 -1
- data/lib/puppet/util/storage.rb +13 -2
- data/lib/puppet/util/suidmanager.rb +8 -7
- data/lib/puppet/util/symbolic_file_mode.rb +29 -17
- data/lib/puppet/util/tag_set.rb +1 -1
- data/lib/puppet/util/tagging.rb +19 -5
- data/lib/puppet/util/warnings.rb +0 -2
- data/lib/puppet/util/windows/adsi.rb +305 -206
- data/lib/puppet/util/windows/api_types.rb +60 -33
- data/lib/puppet/util/windows/com.rb +2 -1
- data/lib/puppet/util/windows/eventlog.rb +1 -6
- data/lib/puppet/util/windows/file.rb +20 -2
- data/lib/puppet/util/windows/monkey_patches/dir.rb +40 -0
- data/lib/puppet/util/windows/principal.rb +24 -14
- data/lib/puppet/util/windows/process.rb +93 -4
- data/lib/puppet/util/windows/registry.rb +48 -16
- data/lib/puppet/util/windows/root_certs.rb +1 -1
- data/lib/puppet/util/windows/security.rb +66 -16
- data/lib/puppet/util/windows/service.rb +1147 -0
- data/lib/puppet/util/windows/sid.rb +68 -12
- data/lib/puppet/util/windows/user.rb +254 -14
- data/lib/puppet/util/windows.rb +23 -2
- data/lib/puppet/util/yaml.rb +62 -7
- data/lib/puppet/util.rb +130 -55
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +18 -18
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/vendor.rb +1 -1
- data/lib/puppet/version.rb +2 -5
- data/lib/puppet/x509/cert_provider.rb +355 -0
- data/lib/puppet/x509/pem_store.rb +55 -0
- data/lib/puppet/x509.rb +7 -0
- data/lib/puppet.rb +83 -36
- data/lib/puppet_pal.rb +8 -0
- data/locales/puppet.pot +5 -9763
- data/man/man5/puppet.conf.5 +651 -390
- data/man/man8/puppet-agent.8 +88 -67
- data/man/man8/puppet-apply.8 +8 -5
- data/man/man8/puppet-catalog.8 +39 -11
- data/man/man8/puppet-config.8 +42 -8
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +55 -22
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +35 -13
- data/man/man8/puppet-facts.8 +144 -6
- data/man/man8/puppet-filebucket.8 +58 -12
- data/man/man8/puppet-generate.8 +2 -2
- data/man/man8/puppet-help.8 +7 -4
- data/man/man8/puppet-key.8 +9 -15
- data/man/man8/puppet-lookup.8 +10 -7
- data/man/man8/puppet-man.8 +11 -5
- data/man/man8/puppet-module.8 +28 -106
- data/man/man8/puppet-node.8 +13 -13
- data/man/man8/puppet-parser.8 +32 -9
- data/man/man8/puppet-plugin.8 +2 -2
- data/man/man8/puppet-report.8 +9 -6
- data/man/man8/puppet-resource.8 +2 -2
- data/man/man8/puppet-script.8 +70 -0
- data/man/man8/puppet-ssl.8 +59 -0
- data/man/man8/puppet-status.8 +7 -7
- data/man/man8/puppet.8 +12 -3
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +92 -0
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
- data/{lib/puppet/vendor/semantic_puppet → spec/fixtures/integration/l10n/envs/prod/modules/demo}/locales/config.yaml +8 -4
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
- data/spec/fixtures/ssl/127.0.0.1-key.pem +117 -0
- data/spec/fixtures/ssl/127.0.0.1.pem +69 -0
- data/spec/fixtures/ssl/bad-basic-constraints.pem +81 -0
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +81 -0
- data/spec/fixtures/ssl/ca.pem +81 -0
- data/spec/fixtures/ssl/crl.pem +40 -0
- data/spec/fixtures/ssl/ec-key.pem +18 -0
- data/spec/fixtures/ssl/ec.pem +49 -0
- data/spec/fixtures/ssl/encrypted-ec-key.pem +21 -0
- data/spec/fixtures/ssl/encrypted-key.pem +120 -0
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +40 -0
- data/spec/fixtures/ssl/intermediate-agent.pem +81 -0
- data/spec/fixtures/ssl/intermediate-crl.pem +46 -0
- data/spec/fixtures/ssl/intermediate.pem +81 -0
- data/spec/fixtures/ssl/netlock-arany-utf8.pem +23 -0
- data/spec/fixtures/ssl/oid-key.pem +117 -0
- data/spec/fixtures/ssl/oid.pem +69 -0
- data/spec/fixtures/ssl/pluto-key.pem +117 -0
- data/spec/fixtures/ssl/pluto.pem +66 -0
- data/spec/fixtures/ssl/request-key.pem +117 -0
- data/spec/fixtures/ssl/request.pem +60 -0
- data/spec/fixtures/ssl/revoked-key.pem +117 -0
- data/spec/fixtures/ssl/revoked.pem +66 -0
- data/spec/fixtures/ssl/signed-key.pem +117 -0
- data/spec/fixtures/ssl/signed.pem +66 -0
- data/spec/fixtures/ssl/tampered-cert.pem +66 -0
- data/spec/fixtures/ssl/tampered-csr.pem +60 -0
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +5 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +117 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +69 -0
- data/spec/fixtures/ssl/unknown-ca-key.pem +117 -0
- data/spec/fixtures/ssl/unknown-ca.pem +81 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.json +76 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +22 -0
- data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +18 -0
- data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +7 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +1 -1
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +6 -6
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +11 -0
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +11 -0
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +11 -0
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +11 -0
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +12 -0
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/func_with_syntax_error.rb +9 -0
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +9 -0
- data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +1 -0
- data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +1 -0
- data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +19 -0
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
- data/spec/fixtures/unit/provider/package/pkgng/pkg.version +2 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +9 -0
- data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
- data/spec/fixtures/unit/provider/parsedfile/aliases.txt +2 -0
- data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +6 -0
- data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +13 -0
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +9 -0
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +9 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +36 -0
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +1 -102
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +1 -106
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +1 -106
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +1 -102
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +1 -98
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +1 -102
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +1 -102
- data/spec/integration/agent/logging_spec.rb +7 -9
- data/spec/integration/application/agent_spec.rb +848 -0
- data/spec/integration/application/apply_spec.rb +338 -178
- data/spec/integration/application/doc_spec.rb +16 -7
- data/spec/integration/application/filebucket_spec.rb +255 -0
- data/spec/integration/application/help_spec.rb +42 -0
- data/spec/integration/application/lookup_spec.rb +105 -40
- data/spec/integration/application/module_spec.rb +89 -0
- data/spec/integration/application/plugin_spec.rb +123 -0
- data/spec/integration/application/resource_spec.rb +68 -0
- data/spec/integration/application/ssl_spec.rb +20 -0
- data/spec/integration/configurer_spec.rb +109 -12
- data/spec/integration/data_binding_spec.rb +83 -0
- data/spec/integration/defaults_spec.rb +30 -19
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/environments/settings_interpolation_spec.rb +0 -4
- data/spec/integration/http/client_spec.rb +213 -0
- data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
- data/spec/integration/indirector/direct_file_server_spec.rb +2 -4
- data/spec/integration/indirector/facts/facter_spec.rb +112 -63
- data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
- data/spec/integration/l10n/compiler_spec.rb +37 -0
- data/spec/integration/network/authconfig_spec.rb +23 -24
- data/spec/integration/network/formats_spec.rb +0 -1
- data/spec/integration/network/http/api/indirected_routes_spec.rb +9 -38
- data/spec/integration/network/http_pool_spec.rb +293 -0
- data/spec/integration/node/environment_spec.rb +16 -2
- data/spec/integration/node/facts_spec.rb +9 -10
- data/spec/integration/node_spec.rb +6 -11
- data/spec/integration/parser/catalog_spec.rb +8 -8
- data/spec/integration/parser/collection_spec.rb +6 -11
- data/spec/integration/parser/compiler_spec.rb +60 -30
- data/spec/integration/parser/pcore_resource_spec.rb +13 -3
- data/spec/integration/parser/scope_spec.rb +3 -3
- data/spec/integration/parser/script_compiler_spec.rb +113 -0
- data/spec/integration/parser/undef_param_spec.rb +1 -1
- data/spec/integration/provider/file/windows_spec.rb +162 -0
- data/spec/integration/resource/catalog_spec.rb +14 -17
- data/spec/integration/resource/type_collection_spec.rb +3 -8
- data/spec/integration/transaction/report_spec.rb +12 -17
- data/spec/integration/transaction_spec.rb +37 -39
- data/spec/integration/type/exec_spec.rb +71 -47
- data/spec/integration/type/file_spec.rb +142 -42
- data/spec/integration/type/notify_spec.rb +46 -0
- data/spec/integration/type/package_spec.rb +27 -31
- data/spec/integration/type/tidy_spec.rb +1 -2
- data/spec/integration/type_spec.rb +1 -3
- data/spec/integration/util/autoload_spec.rb +10 -8
- data/spec/integration/util/execution_spec.rb +54 -5
- data/spec/integration/util/rdoc/parser_spec.rb +14 -25
- data/spec/integration/util/settings_spec.rb +2 -2
- data/spec/integration/util/windows/adsi_spec.rb +116 -8
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +11 -0
- data/spec/integration/util/windows/principal_spec.rb +33 -4
- data/spec/integration/util/windows/process_spec.rb +28 -44
- data/spec/integration/util/windows/registry_spec.rb +130 -53
- data/spec/integration/util/windows/security_spec.rb +103 -12
- data/spec/integration/util/windows/user_spec.rb +108 -29
- data/spec/integration/util_spec.rb +9 -38
- data/spec/lib/matchers/json.rb +13 -19
- data/{lib/puppet/ssl → spec/lib/puppet}/certificate_factory.rb +7 -8
- data/spec/lib/puppet/test_ca.rb +164 -0
- data/spec/lib/puppet_spec/compiler.rb +28 -1
- data/spec/lib/puppet_spec/files.rb +28 -24
- data/spec/lib/puppet_spec/fixtures.rb +24 -0
- data/spec/lib/puppet_spec/https.rb +95 -0
- data/spec/lib/puppet_spec/language.rb +34 -35
- data/spec/lib/puppet_spec/matchers.rb +0 -93
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +3 -3
- data/spec/lib/puppet_spec/modules.rb +39 -4
- data/spec/lib/puppet_spec/puppetserver.rb +179 -0
- data/spec/lib/puppet_spec/scope.rb +1 -2
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/lib/puppet_spec/ssl.rb +265 -0
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
- data/spec/shared_behaviours/file_server_terminus.rb +8 -11
- data/spec/shared_behaviours/file_serving.rb +6 -8
- data/spec/shared_behaviours/hiera_indirections.rb +3 -4
- data/spec/shared_behaviours/iterative_functions.rb +0 -1
- data/spec/shared_behaviours/memory_terminus.rb +2 -2
- data/spec/shared_behaviours/path_parameters.rb +1 -1
- data/spec/shared_behaviours/things_that_declare_options.rb +2 -2
- data/spec/shared_contexts/checksum.rb +4 -1
- data/spec/shared_contexts/digests.rb +46 -1
- data/spec/shared_contexts/https.rb +29 -0
- data/spec/shared_contexts/l10n.rb +32 -0
- data/spec/shared_contexts/types_setup.rb +10 -3
- data/spec/shared_examples/rhel_package_provider.rb +112 -70
- data/spec/spec_helper.rb +49 -22
- data/spec/unit/agent/disabler_spec.rb +4 -5
- data/spec/unit/agent/locker_spec.rb +12 -13
- data/spec/unit/agent_spec.rb +181 -104
- data/spec/unit/application/agent_spec.rb +159 -130
- data/spec/unit/application/apply_spec.rb +199 -145
- data/spec/unit/application/config_spec.rb +224 -5
- data/spec/unit/application/describe_spec.rb +88 -51
- data/spec/unit/application/device_spec.rb +424 -300
- data/spec/unit/application/doc_spec.rb +46 -48
- data/spec/unit/application/face_base_spec.rb +69 -68
- data/spec/unit/application/facts_spec.rb +518 -9
- data/spec/unit/application/filebucket_spec.rb +98 -74
- data/spec/unit/application/indirection_base_spec.rb +8 -6
- data/spec/unit/application/lookup_spec.rb +176 -47
- data/spec/unit/application/man_spec.rb +52 -0
- data/spec/unit/application/resource_spec.rb +76 -51
- data/spec/unit/application/ssl_spec.rb +458 -0
- data/spec/unit/application_spec.rb +171 -94
- data/spec/unit/capability_spec.rb +17 -15
- data/spec/unit/{ssl/certificate_factory_spec.rb → certificate_factory_spec.rb} +11 -22
- data/spec/unit/concurrent/lock_spec.rb +29 -0
- data/spec/unit/concurrent/thread_local_singleton_spec.rb +39 -0
- data/spec/unit/configurer/downloader_spec.rb +41 -21
- data/spec/unit/configurer/fact_handler_spec.rb +6 -11
- data/spec/unit/configurer/plugin_handler_spec.rb +71 -48
- data/spec/unit/configurer_spec.rb +851 -480
- data/spec/unit/confine/exists_spec.rb +17 -15
- data/spec/unit/confine/false_spec.rb +32 -6
- data/spec/unit/confine/feature_spec.rb +7 -5
- data/spec/unit/confine/true_spec.rb +32 -6
- data/spec/unit/confine/variable_spec.rb +14 -15
- data/spec/unit/confine_collection_spec.rb +28 -29
- data/spec/unit/confine_spec.rb +36 -14
- data/spec/unit/confiner_spec.rb +10 -11
- data/spec/unit/context/trusted_information_spec.rb +68 -5
- data/spec/unit/context_spec.rb +119 -38
- data/spec/unit/daemon_spec.rb +39 -107
- data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +4 -5
- data/spec/unit/datatypes_spec.rb +352 -0
- data/spec/unit/defaults_spec.rb +182 -19
- data/spec/unit/environments_spec.rb +592 -104
- data/spec/unit/etc_spec.rb +52 -29
- data/spec/unit/external/pson_spec.rb +0 -1
- data/spec/unit/face/config_spec.rb +247 -33
- data/spec/unit/face/epp_face_spec.rb +63 -9
- data/spec/unit/face/facts_spec.rb +70 -1
- data/spec/unit/face/generate_spec.rb +68 -5
- data/spec/unit/face/help_spec.rb +67 -74
- data/spec/unit/face/key_spec.rb +0 -1
- data/spec/unit/face/module/install_spec.rb +3 -5
- data/spec/unit/face/module/list_spec.rb +2 -73
- data/spec/unit/face/module/search_spec.rb +39 -9
- data/spec/unit/face/module/uninstall_spec.rb +4 -8
- data/spec/unit/face/node_spec.rb +22 -59
- data/spec/unit/face/parser_spec.rb +177 -25
- data/spec/unit/face/plugin_spec.rb +56 -19
- data/spec/unit/face/status_spec.rb +0 -1
- data/spec/unit/facter_impl_spec.rb +31 -0
- data/spec/unit/file_bucket/dipper_spec.rb +39 -28
- data/spec/unit/file_bucket/file_spec.rb +0 -2
- data/spec/unit/file_serving/base_spec.rb +17 -21
- data/spec/unit/file_serving/configuration/parser_spec.rb +49 -28
- data/spec/unit/file_serving/configuration_spec.rb +77 -70
- data/spec/unit/file_serving/content_spec.rb +10 -12
- data/spec/unit/file_serving/fileset_spec.rb +123 -59
- data/spec/unit/file_serving/http_metadata_spec.rb +38 -14
- data/spec/unit/file_serving/metadata_spec.rb +41 -42
- data/spec/unit/file_serving/mount/file_spec.rb +31 -32
- data/spec/unit/file_serving/mount/locales_spec.rb +25 -26
- data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +25 -26
- data/spec/unit/file_serving/mount/plugins_spec.rb +25 -26
- data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
- data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
- data/spec/unit/file_serving/mount_spec.rb +0 -1
- data/spec/unit/file_serving/terminus_helper_spec.rb +47 -45
- data/spec/unit/file_serving/terminus_selector_spec.rb +45 -29
- data/spec/unit/file_system/path_pattern_spec.rb +1 -1
- data/spec/unit/file_system/uniquefile_spec.rb +41 -6
- data/spec/unit/file_system_spec.rb +330 -9
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/forge_spec.rb +14 -57
- data/spec/unit/forge/module_release_spec.rb +161 -48
- data/spec/unit/forge/repository_spec.rb +66 -163
- data/spec/unit/forge_spec.rb +47 -114
- data/spec/unit/functions/abs_spec.rb +70 -0
- data/spec/unit/functions/assert_type_spec.rb +2 -2
- data/spec/unit/functions/binary_file_spec.rb +3 -3
- data/spec/unit/functions/break_spec.rb +34 -2
- data/spec/unit/functions/call_spec.rb +59 -5
- data/spec/unit/functions/camelcase_spec.rb +34 -0
- data/spec/unit/functions/capitalize_spec.rb +34 -0
- data/spec/unit/functions/ceiling_spec.rb +65 -0
- data/spec/unit/functions/chomp_spec.rb +46 -0
- data/spec/unit/functions/chop_spec.rb +38 -0
- data/spec/unit/functions/compare_spec.rb +147 -0
- data/spec/unit/functions/contain_spec.rb +2 -3
- data/spec/unit/functions/convert_to_spec.rb +25 -0
- data/spec/unit/functions/defined_spec.rb +0 -1
- data/spec/unit/functions/downcase_spec.rb +34 -0
- data/spec/unit/functions/empty_spec.rb +87 -0
- data/spec/unit/functions/epp_spec.rb +13 -5
- data/spec/unit/functions/filter_spec.rb +4 -4
- data/spec/unit/functions/find_file_spec.rb +7 -7
- data/spec/unit/functions/find_template_spec.rb +69 -0
- data/spec/unit/functions/flatten_spec.rb +31 -0
- data/spec/unit/functions/floor_spec.rb +65 -0
- data/spec/unit/functions/get_spec.rb +135 -0
- data/spec/unit/functions/getvar_spec.rb +121 -0
- data/spec/unit/functions/group_by_spec.rb +40 -0
- data/spec/unit/functions/hiera_spec.rb +14 -48
- data/spec/unit/functions/include_spec.rb +16 -5
- data/spec/unit/functions/index_spec.rb +184 -0
- data/spec/unit/functions/inline_epp_spec.rb +27 -2
- data/spec/unit/functions/join_spec.rb +33 -0
- data/spec/unit/functions/keys_spec.rb +31 -0
- data/spec/unit/functions/length_spec.rb +50 -0
- data/spec/unit/functions/logging_spec.rb +11 -3
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -2
- data/spec/unit/functions/lookup_spec.rb +165 -63
- data/spec/unit/functions/lstrip_spec.rb +30 -0
- data/spec/unit/functions/match_spec.rb +21 -4
- data/spec/unit/functions/max_spec.rb +129 -0
- data/spec/unit/functions/min_spec.rb +129 -0
- data/spec/unit/functions/module_directory_spec.rb +43 -0
- data/spec/unit/functions/new_spec.rb +30 -14
- data/spec/unit/functions/partition_spec.rb +40 -0
- data/spec/unit/functions/regsubst_spec.rb +3 -4
- data/spec/unit/functions/require_spec.rb +1 -2
- data/spec/unit/functions/round_spec.rb +41 -0
- data/spec/unit/functions/rstrip_spec.rb +30 -0
- data/spec/unit/functions/shared.rb +15 -6
- data/spec/unit/functions/size_spec.rb +50 -0
- data/spec/unit/functions/sort_spec.rb +79 -0
- data/spec/unit/functions/split_spec.rb +3 -4
- data/spec/unit/functions/step_spec.rb +1 -1
- data/spec/unit/functions/strftime_spec.rb +2 -2
- data/spec/unit/functions/strip_spec.rb +30 -0
- data/spec/unit/functions/tree_each_spec.rb +49 -0
- data/spec/unit/functions/unwrap_spec.rb +8 -0
- data/spec/unit/functions/upcase_spec.rb +34 -0
- data/spec/unit/functions/values_spec.rb +30 -0
- data/spec/unit/functions/versioncmp_spec.rb +43 -9
- data/spec/unit/functions4_spec.rb +154 -86
- data/spec/unit/gettext/config_spec.rb +45 -14
- data/spec/unit/gettext/module_loading_spec.rb +7 -7
- data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
- data/spec/unit/graph/relationship_graph_spec.rb +1 -2
- data/spec/unit/graph/simple_graph_spec.rb +51 -12
- data/spec/unit/hiera/scope_spec.rb +7 -0
- data/spec/unit/hiera_puppet_spec.rb +20 -20
- data/spec/unit/http/client_spec.rb +938 -0
- data/spec/unit/http/external_client_spec.rb +201 -0
- data/spec/unit/http/resolver_spec.rb +133 -0
- data/spec/unit/http/response_spec.rb +75 -0
- data/spec/unit/http/service/ca_spec.rb +198 -0
- data/spec/unit/http/service/compiler_spec.rb +806 -0
- data/spec/unit/http/service/file_server_spec.rb +307 -0
- data/spec/unit/http/service/puppetserver_spec.rb +82 -0
- data/spec/unit/http/service/report_spec.rb +117 -0
- data/spec/unit/http/service_spec.rb +144 -0
- data/spec/unit/http/session_spec.rb +307 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +343 -194
- data/spec/unit/indirector/catalog/json_spec.rb +10 -5
- data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +67 -3
- data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
- data/spec/unit/indirector/certificate/file_spec.rb +0 -9
- data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
- data/spec/unit/indirector/direct_file_server_spec.rb +47 -50
- data/spec/unit/indirector/envelope_spec.rb +1 -2
- data/spec/unit/indirector/exec_spec.rb +29 -24
- data/spec/unit/indirector/face_spec.rb +8 -9
- data/spec/unit/indirector/facts/facter_spec.rb +131 -43
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
- data/spec/unit/indirector/facts/rest_spec.rb +99 -0
- data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/facts/yaml_spec.rb +95 -79
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +156 -100
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +82 -3
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +26 -9
- data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_content/file_spec.rb +0 -1
- data/spec/unit/indirector/file_content/rest_spec.rb +53 -3
- data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
- data/spec/unit/indirector/file_metadata/http_spec.rb +194 -0
- data/spec/unit/indirector/file_metadata/rest_spec.rb +110 -3
- data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_server_spec.rb +143 -137
- data/spec/unit/indirector/indirection_spec.rb +296 -231
- data/spec/unit/indirector/json_spec.rb +10 -12
- data/spec/unit/indirector/key/file_spec.rb +20 -39
- data/spec/unit/indirector/memory_spec.rb +6 -7
- data/spec/unit/indirector/msgpack_spec.rb +10 -12
- data/spec/unit/indirector/node/exec_spec.rb +43 -23
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/unit/indirector/node/memory_spec.rb +2 -4
- data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/node/plain_spec.rb +2 -4
- data/spec/unit/indirector/node/rest_spec.rb +57 -3
- data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/node/yaml_spec.rb +0 -1
- data/spec/unit/indirector/none_spec.rb +5 -5
- data/spec/unit/indirector/plain_spec.rb +7 -8
- data/spec/unit/indirector/report/json_spec.rb +72 -0
- data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/report/processor_spec.rb +21 -22
- data/spec/unit/indirector/report/rest_spec.rb +58 -52
- data/spec/unit/indirector/report/yaml_spec.rb +72 -9
- data/spec/unit/indirector/request_spec.rb +27 -29
- data/spec/unit/indirector/resource/ral_spec.rb +40 -82
- data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/rest_spec.rb +166 -107
- data/spec/unit/indirector/ssl_file_spec.rb +99 -122
- data/spec/unit/indirector/status/local_spec.rb +0 -1
- data/spec/unit/indirector/status/rest_spec.rb +43 -3
- data/spec/unit/indirector/terminus_spec.rb +29 -29
- data/spec/unit/indirector/yaml_spec.rb +92 -70
- data/spec/unit/indirector_spec.rb +2 -4
- data/spec/unit/info_service_spec.rb +195 -11
- data/spec/unit/interface/action_builder_spec.rb +0 -1
- data/spec/unit/interface/action_manager_spec.rb +1 -2
- data/spec/unit/interface/action_spec.rb +36 -13
- data/spec/unit/interface/documentation_spec.rb +0 -1
- data/spec/unit/interface/face_collection_spec.rb +19 -12
- data/spec/unit/interface_spec.rb +6 -6
- data/spec/unit/module_spec.rb +135 -113
- data/spec/unit/module_tool/applications/installer_spec.rb +116 -13
- data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +16 -0
- data/spec/unit/module_tool/applications/unpacker_spec.rb +17 -17
- data/spec/unit/module_tool/applications/upgrader_spec.rb +11 -5
- data/spec/unit/module_tool/install_directory_spec.rb +8 -8
- data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
- data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
- data/spec/unit/module_tool/tar/mini_spec.rb +32 -12
- data/spec/unit/module_tool/tar_spec.rb +12 -13
- data/spec/unit/module_tool_spec.rb +7 -34
- data/spec/unit/network/auth_config_parser_spec.rb +11 -13
- data/spec/unit/network/authconfig_spec.rb +16 -20
- data/spec/unit/network/authorization_spec.rb +4 -5
- data/spec/unit/network/authstore_spec.rb +0 -16
- data/spec/unit/network/format_handler_spec.rb +0 -1
- data/spec/unit/network/format_spec.rb +9 -10
- data/spec/unit/network/format_support_spec.rb +29 -29
- data/spec/unit/network/formats_spec.rb +82 -18
- data/spec/unit/network/http/api/indirected_routes_spec.rb +54 -48
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +7 -9
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -2
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +11 -23
- data/spec/unit/network/http/api_spec.rb +0 -28
- data/spec/unit/network/http/compression_spec.rb +27 -25
- data/spec/unit/network/http/connection_spec.rb +537 -275
- data/spec/unit/network/http/factory_spec.rb +82 -36
- data/spec/unit/network/http/handler_spec.rb +10 -23
- data/spec/unit/network/http/nocache_pool_spec.rb +32 -11
- data/spec/unit/network/http/pool_spec.rb +166 -59
- data/spec/unit/network/http/request_spec.rb +0 -2
- data/spec/unit/network/http/response_spec.rb +11 -13
- data/spec/unit/network/http/route_spec.rb +0 -1
- data/spec/unit/network/http/session_spec.rb +9 -3
- data/spec/unit/network/http/site_spec.rb +7 -1
- data/spec/unit/network/http_pool_spec.rb +99 -48
- data/spec/unit/network/http_spec.rb +1 -2
- data/spec/unit/network/resolver_spec.rb +103 -29
- data/spec/unit/network/rights_spec.rb +52 -53
- data/spec/unit/network/uri_spec.rb +47 -0
- data/spec/unit/node/environment_spec.rb +72 -24
- data/spec/unit/node/facts_spec.rb +20 -8
- data/spec/unit/node_spec.rb +38 -23
- data/spec/unit/other/selinux_spec.rb +0 -72
- data/spec/unit/parameter/boolean_spec.rb +1 -2
- data/spec/unit/parameter/package_options_spec.rb +1 -2
- data/spec/unit/parameter/path_spec.rb +0 -1
- data/spec/unit/parameter/value_collection_spec.rb +0 -1
- data/spec/unit/parameter/value_spec.rb +0 -1
- data/spec/unit/parameter_spec.rb +9 -9
- data/spec/unit/parser/ast/block_expression_spec.rb +7 -9
- data/spec/unit/parser/ast/leaf_spec.rb +20 -21
- data/spec/unit/parser/compiler_spec.rb +93 -114
- data/spec/unit/parser/environment_compiler_spec.rb +67 -23
- data/spec/unit/parser/files_spec.rb +0 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +10 -1
- data/spec/unit/parser/functions/digest_spec.rb +0 -5
- data/spec/unit/parser/functions/fail_spec.rb +2 -7
- data/spec/unit/parser/functions/file_spec.rb +13 -18
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +39 -2
- data/spec/unit/parser/functions/generate_spec.rb +36 -39
- data/spec/unit/parser/functions/inline_template_spec.rb +7 -5
- data/spec/unit/parser/functions/realize_spec.rb +9 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +0 -5
- data/spec/unit/parser/functions/scanf_spec.rb +0 -5
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
- data/spec/unit/parser/functions/split_spec.rb +0 -5
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -5
- data/spec/unit/parser/functions/tag_spec.rb +8 -6
- data/spec/unit/parser/functions/tagged_spec.rb +36 -0
- data/spec/unit/parser/functions/template_spec.rb +21 -17
- data/spec/unit/parser/functions/versioncmp_spec.rb +1 -6
- data/spec/unit/parser/functions_spec.rb +28 -4
- data/spec/unit/parser/relationship_spec.rb +0 -1
- data/spec/unit/parser/resource/param_spec.rb +1 -1
- data/spec/unit/parser/resource_spec.rb +53 -48
- data/spec/unit/parser/scope_spec.rb +72 -39
- data/spec/unit/parser/templatewrapper_spec.rb +25 -15
- data/spec/unit/parser/type_loader_spec.rb +18 -20
- data/spec/unit/plan_spec.rb +65 -0
- data/spec/unit/pops/adaptable_spec.rb +0 -2
- data/spec/unit/pops/benchmark_spec.rb +0 -1
- data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +10 -1
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -2
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +20 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +133 -17
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +24 -11
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
- data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
- data/spec/unit/pops/factory_rspec_helper.rb +1 -1
- data/spec/unit/pops/factory_spec.rb +8 -9
- data/spec/unit/pops/issues_spec.rb +40 -26
- data/spec/unit/pops/loaders/dependency_loader_spec.rb +2 -2
- data/spec/unit/pops/loaders/loader_spec.rb +516 -0
- data/spec/unit/pops/loaders/loaders_spec.rb +294 -46
- data/spec/unit/pops/loaders/module_loaders_spec.rb +112 -0
- data/spec/unit/pops/loaders/static_loader_spec.rb +16 -44
- data/spec/unit/pops/lookup/context_spec.rb +0 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +7 -3
- data/spec/unit/pops/lookup/lookup_spec.rb +81 -0
- data/spec/unit/pops/merge_strategy_spec.rb +0 -1
- data/spec/unit/pops/migration_spec.rb +3 -5
- data/spec/unit/pops/model/model_spec.rb +5 -1
- data/spec/unit/pops/model/pn_transformer_spec.rb +56 -0
- data/spec/unit/pops/parser/lexer2_spec.rb +89 -26
- data/spec/unit/pops/parser/locator_spec.rb +63 -1
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +42 -10
- data/spec/unit/pops/parser/parse_calls_spec.rb +28 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +12 -1
- data/spec/unit/pops/parser/parse_containers_spec.rb +2 -14
- data/spec/unit/pops/parser/parse_functions_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +124 -12
- data/spec/unit/pops/parser/parse_lambda_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_plan_spec.rb +47 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +35 -36
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
- data/spec/unit/pops/parser/pn_parser_spec.rb +100 -0
- data/spec/unit/pops/pn_spec.rb +147 -0
- data/spec/unit/pops/puppet_stack_spec.rb +38 -9
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
- data/spec/unit/pops/serialization/packer_spec.rb +8 -0
- data/spec/unit/pops/serialization/serialization_spec.rb +37 -5
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +74 -4
- data/spec/unit/pops/serialization/to_stringified_spec.rb +162 -0
- data/spec/unit/pops/types/deferred_spec.rb +87 -0
- data/spec/unit/pops/types/error_spec.rb +207 -0
- data/spec/unit/pops/types/iterable_spec.rb +1 -1
- data/spec/unit/pops/types/p_init_type_spec.rb +98 -0
- data/spec/unit/pops/types/p_object_type_spec.rb +298 -13
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
- data/spec/unit/pops/types/p_timespan_type_spec.rb +33 -4
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +28 -2
- data/spec/unit/pops/types/p_type_set_type_spec.rb +106 -2
- data/spec/unit/pops/types/p_uri_type_spec.rb +191 -0
- data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
- data/spec/unit/pops/types/ruby_generator_spec.rb +87 -54
- data/spec/unit/pops/types/string_converter_spec.rb +39 -6
- data/spec/unit/pops/types/task_spec.rb +411 -0
- data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +120 -53
- data/spec/unit/pops/types/type_formatter_spec.rb +31 -13
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +9 -0
- data/spec/unit/pops/types/type_parser_spec.rb +26 -14
- data/spec/unit/pops/types/types_spec.rb +99 -6
- data/spec/unit/pops/validator/validator_spec.rb +455 -7
- data/spec/unit/pops/visitor_spec.rb +0 -1
- data/spec/unit/property/boolean_spec.rb +1 -1
- data/spec/unit/property/ensure_spec.rb +0 -1
- data/spec/unit/property/keyvalue_spec.rb +127 -38
- data/spec/unit/property/list_spec.rb +26 -27
- data/spec/unit/property/ordered_list_spec.rb +10 -14
- data/spec/unit/property_spec.rb +55 -46
- data/spec/unit/provider/aix_object_spec.rb +821 -0
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/exec/posix_spec.rb +38 -15
- data/spec/unit/provider/exec/shell_spec.rb +2 -2
- data/spec/unit/provider/exec/windows_spec.rb +4 -6
- data/spec/unit/provider/exec_spec.rb +210 -1
- data/spec/unit/provider/file/posix_spec.rb +22 -24
- data/spec/unit/provider/file/windows_spec.rb +17 -19
- data/spec/unit/provider/group/aix_spec.rb +91 -0
- data/spec/unit/provider/group/groupadd_spec.rb +237 -29
- data/spec/unit/provider/group/ldap_spec.rb +33 -36
- data/spec/unit/provider/group/pw_spec.rb +15 -18
- data/spec/unit/provider/group/windows_adsi_spec.rb +173 -68
- data/spec/unit/provider/ldap_spec.rb +61 -63
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +102 -109
- data/spec/unit/provider/nameservice_spec.rb +99 -100
- data/spec/unit/provider/package/aix_spec.rb +48 -22
- data/spec/unit/provider/package/appdmg_spec.rb +13 -13
- data/spec/unit/provider/package/apt_spec.rb +174 -37
- data/spec/unit/provider/package/aptitude_spec.rb +8 -7
- data/spec/unit/provider/package/aptrpm_spec.rb +8 -13
- data/spec/unit/provider/package/base_spec.rb +7 -6
- data/spec/unit/provider/package/dnf_spec.rb +43 -18
- data/spec/unit/provider/package/dnfmodule_spec.rb +256 -0
- data/spec/unit/provider/package/dpkg_spec.rb +348 -137
- data/spec/unit/provider/package/freebsd_spec.rb +15 -18
- data/spec/unit/provider/package/gem_spec.rb +210 -83
- data/spec/unit/provider/package/hpux_spec.rb +15 -18
- data/spec/unit/provider/package/macports_spec.rb +56 -54
- data/spec/unit/provider/package/nim_spec.rb +76 -59
- data/spec/unit/provider/package/openbsd_spec.rb +62 -49
- data/spec/unit/provider/package/opkg_spec.rb +23 -26
- data/spec/unit/provider/package/pacman_spec.rb +103 -133
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/pip3_spec.rb +20 -6
- data/spec/unit/provider/package/pip_spec.rb +252 -157
- data/spec/unit/provider/package/pkg_spec.rb +194 -98
- data/spec/unit/provider/package/pkgdmg_spec.rb +64 -66
- data/spec/unit/provider/package/pkgin_spec.rb +21 -24
- data/spec/unit/provider/package/pkgng_spec.rb +80 -38
- data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
- data/spec/unit/provider/package/portage_spec.rb +89 -74
- data/spec/unit/provider/package/puppet_gem_spec.rb +53 -21
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/rpm_spec.rb +280 -261
- data/spec/unit/provider/package/sun_spec.rb +16 -18
- data/spec/unit/provider/package/tdnf_spec.rb +9 -12
- data/spec/unit/provider/package/up2date_spec.rb +2 -4
- data/spec/unit/provider/package/urpmi_spec.rb +18 -14
- data/spec/unit/provider/package/windows/exe_package_spec.rb +32 -18
- data/spec/unit/provider/package/windows/msi_package_spec.rb +20 -23
- data/spec/unit/provider/package/windows/package_spec.rb +38 -43
- data/spec/unit/provider/package/windows_spec.rb +51 -36
- data/spec/unit/provider/package/yum_spec.rb +442 -13
- data/spec/unit/provider/package/zypper_spec.rb +202 -106
- data/spec/unit/provider/package_targetable_spec.rb +60 -0
- data/spec/unit/provider/parsedfile_spec.rb +81 -46
- data/spec/unit/provider/service/base_spec.rb +6 -11
- data/spec/unit/provider/service/bsd_spec.rb +52 -51
- data/spec/unit/provider/service/daemontools_spec.rb +71 -52
- data/spec/unit/provider/service/debian_spec.rb +51 -53
- data/spec/unit/provider/service/freebsd_spec.rb +21 -21
- data/spec/unit/provider/service/gentoo_spec.rb +78 -82
- data/spec/unit/provider/service/init_spec.rb +117 -67
- data/spec/unit/provider/service/launchd_spec.rb +196 -114
- data/spec/unit/provider/service/openbsd_spec.rb +98 -92
- data/spec/unit/provider/service/openrc_spec.rb +73 -75
- data/spec/unit/provider/service/openwrt_spec.rb +36 -44
- data/spec/unit/provider/service/rcng_spec.rb +20 -21
- data/spec/unit/provider/service/redhat_spec.rb +76 -58
- data/spec/unit/provider/service/runit_spec.rb +62 -43
- data/spec/unit/provider/service/smf_spec.rb +143 -73
- data/spec/unit/provider/service/src_spec.rb +60 -69
- data/spec/unit/provider/service/systemd_spec.rb +330 -155
- data/spec/unit/provider/service/upstart_spec.rb +106 -84
- data/spec/unit/provider/service/windows_spec.rb +336 -91
- data/spec/unit/provider/user/aix_spec.rb +263 -112
- data/spec/unit/provider/user/directoryservice_spec.rb +229 -124
- data/spec/unit/provider/user/hpux_spec.rb +19 -20
- data/spec/unit/provider/user/ldap_spec.rb +80 -83
- data/spec/unit/provider/user/openbsd_spec.rb +11 -12
- data/spec/unit/provider/user/pw_spec.rb +82 -44
- data/spec/unit/provider/user/user_role_add_spec.rb +109 -92
- data/spec/unit/provider/user/useradd_spec.rb +479 -90
- data/spec/unit/provider/user/windows_adsi_spec.rb +144 -63
- data/spec/unit/provider_spec.rb +241 -47
- data/spec/unit/puppet_pal_2pec.rb +1033 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +962 -0
- data/spec/unit/puppet_pal_spec.rb +3 -0
- data/spec/unit/puppet_spec.rb +58 -25
- data/spec/unit/relationship_spec.rb +0 -1
- data/spec/unit/reports/http_spec.rb +70 -54
- data/spec/unit/reports/store_spec.rb +20 -17
- data/spec/unit/reports_spec.rb +12 -14
- data/spec/unit/resource/capability_finder_spec.rb +31 -29
- data/spec/unit/resource/catalog_spec.rb +104 -82
- data/spec/unit/resource/status_spec.rb +23 -12
- data/spec/unit/resource/type_collection_spec.rb +19 -17
- data/spec/unit/resource/type_spec.rb +52 -38
- data/spec/unit/resource_spec.rb +207 -49
- data/spec/unit/rest/route_spec.rb +132 -0
- data/spec/unit/scheduler/job_spec.rb +0 -1
- data/spec/unit/scheduler/scheduler_spec.rb +0 -1
- data/spec/unit/scheduler/splay_job_spec.rb +1 -2
- data/spec/unit/settings/array_setting_spec.rb +1 -1
- data/spec/unit/settings/autosign_setting_spec.rb +11 -11
- data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
- data/spec/unit/settings/config_file_spec.rb +9 -1
- data/spec/unit/settings/directory_setting_spec.rb +2 -7
- data/spec/unit/settings/duration_setting_spec.rb +1 -2
- data/spec/unit/settings/enum_setting_spec.rb +1 -1
- data/spec/unit/settings/environment_conf_spec.rb +4 -6
- data/spec/unit/settings/file_setting_spec.rb +54 -48
- data/spec/unit/settings/http_extra_headers_spec.rb +64 -0
- data/spec/unit/settings/ini_file_spec.rb +314 -5
- data/spec/unit/settings/path_setting_spec.rb +2 -3
- data/spec/unit/settings/priority_setting_spec.rb +1 -2
- data/spec/unit/settings/server_list_setting_spec.rb +21 -0
- data/spec/unit/settings/string_setting_spec.rb +14 -15
- data/spec/unit/settings/terminus_setting_spec.rb +1 -2
- data/spec/unit/settings/value_translator_spec.rb +0 -1
- data/spec/unit/settings_spec.rb +905 -448
- data/spec/unit/ssl/base_spec.rb +13 -15
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +21 -8
- data/spec/unit/ssl/certificate_request_spec.rb +84 -65
- data/spec/unit/ssl/certificate_spec.rb +34 -32
- data/spec/unit/ssl/digest_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +336 -649
- data/spec/unit/ssl/key_spec.rb +31 -49
- data/spec/unit/ssl/oids_spec.rb +1 -0
- data/spec/unit/ssl/ssl_provider_spec.rb +630 -0
- data/spec/unit/ssl/state_machine_spec.rb +983 -0
- data/spec/unit/ssl/validator_spec.rb +74 -214
- data/spec/unit/ssl/verifier_spec.rb +123 -0
- data/spec/unit/task_spec.rb +216 -27
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/transaction/additional_resource_generator_spec.rb +66 -72
- data/spec/unit/transaction/event_manager_spec.rb +114 -89
- data/spec/unit/transaction/event_spec.rb +16 -15
- data/spec/unit/transaction/persistence_spec.rb +83 -27
- data/spec/unit/transaction/report_spec.rb +55 -27
- data/spec/unit/transaction/resource_harness_spec.rb +72 -33
- data/spec/unit/transaction_spec.rb +328 -115
- data/spec/unit/type/component_spec.rb +0 -1
- data/spec/unit/type/exec_spec.rb +210 -95
- data/spec/unit/type/file/checksum_spec.rb +29 -10
- data/spec/unit/type/file/checksum_value_spec.rb +31 -32
- data/spec/unit/type/file/content_spec.rb +72 -58
- data/spec/unit/type/file/ctime_spec.rb +0 -1
- data/spec/unit/type/file/ensure_spec.rb +13 -15
- data/spec/unit/type/file/group_spec.rb +5 -7
- data/spec/unit/type/file/mode_spec.rb +4 -6
- data/spec/unit/type/file/mtime_spec.rb +0 -1
- data/spec/unit/type/file/owner_spec.rb +6 -8
- data/spec/unit/type/file/selinux_spec.rb +16 -21
- data/spec/unit/type/file/source_spec.rb +186 -126
- data/spec/unit/type/file/type_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +321 -267
- data/spec/unit/type/filebucket_spec.rb +12 -11
- data/spec/unit/type/group_spec.rb +32 -11
- data/spec/unit/type/noop_metaparam_spec.rb +1 -2
- data/spec/unit/type/package/package_settings_spec.rb +44 -23
- data/spec/unit/type/package_spec.rb +76 -54
- data/spec/unit/type/resources_spec.rb +105 -75
- data/spec/unit/type/schedule_spec.rb +29 -29
- data/spec/unit/type/service_spec.rb +252 -76
- data/spec/unit/type/stage_spec.rb +0 -1
- data/spec/unit/type/tidy_spec.rb +92 -61
- data/spec/unit/type/user_spec.rb +79 -143
- data/spec/unit/type/whit_spec.rb +0 -1
- data/spec/unit/type_spec.rb +288 -140
- data/spec/unit/util/at_fork_spec.rb +21 -21
- data/spec/unit/util/autoload_spec.rb +126 -94
- data/spec/unit/util/backups_spec.rb +33 -35
- data/spec/unit/util/character_encoding_spec.rb +5 -48
- data/spec/unit/util/checksums_spec.rb +57 -42
- data/spec/unit/util/colors_spec.rb +1 -2
- data/spec/unit/util/command_line_spec.rb +50 -25
- data/spec/unit/util/constant_inflector_spec.rb +0 -1
- data/spec/unit/util/diff_spec.rb +12 -5
- data/spec/unit/util/docs_spec.rb +1 -1
- data/spec/unit/util/errors_spec.rb +0 -1
- data/spec/unit/util/execution_spec.rb +288 -167
- data/spec/unit/util/execution_stub_spec.rb +2 -3
- data/spec/unit/util/feature_spec.rb +56 -29
- data/spec/unit/util/filetype_spec.rb +62 -50
- data/spec/unit/util/http_proxy_spec.rb +178 -17
- data/spec/unit/util/inifile_spec.rb +70 -52
- data/spec/unit/util/json_lockfile_spec.rb +3 -5
- data/spec/unit/util/json_spec.rb +126 -0
- data/spec/unit/util/ldap/connection_spec.rb +26 -25
- data/spec/unit/util/ldap/generator_spec.rb +0 -1
- data/spec/unit/util/ldap/manager_spec.rb +100 -129
- data/spec/unit/util/lockfile_spec.rb +1 -2
- data/spec/unit/util/log/destinations_spec.rb +68 -37
- data/spec/unit/util/log_spec.rb +55 -151
- data/spec/unit/util/logging_spec.rb +323 -105
- data/spec/unit/util/metric_spec.rb +0 -1
- data/spec/unit/util/monkey_patches_spec.rb +23 -13
- data/spec/unit/util/multi_match_spec.rb +0 -1
- data/spec/unit/util/network_device/config_spec.rb +0 -1
- data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
- data/spec/unit/util/network_device_spec.rb +7 -9
- data/spec/unit/util/package/version/debian_spec.rb +83 -0
- data/spec/unit/util/package/version/pip_spec.rb +464 -0
- data/spec/unit/util/package/version/range_spec.rb +175 -0
- data/spec/unit/util/package/version/rpm_spec.rb +121 -0
- data/spec/unit/util/package_spec.rb +0 -1
- data/spec/unit/util/pidlock_spec.rb +130 -15
- data/spec/unit/util/plist_spec.rb +66 -33
- data/spec/unit/util/posix_spec.rb +426 -47
- data/spec/unit/util/profiler/object_counts_spec.rb +2 -1
- data/spec/unit/util/rdoc_spec.rb +9 -10
- data/spec/unit/util/reference_spec.rb +0 -1
- data/spec/unit/util/resource_template_spec.rb +20 -20
- data/spec/unit/util/retry_action_spec.rb +7 -8
- data/spec/unit/util/rpm_compare_spec.rb +196 -0
- data/spec/unit/util/rubygems_spec.rb +8 -43
- data/spec/unit/util/run_mode_spec.rb +16 -17
- data/spec/unit/util/selinux_spec.rb +204 -98
- data/spec/unit/util/skip_tags_spec.rb +14 -0
- data/spec/unit/util/splayer_spec.rb +8 -9
- data/spec/unit/util/ssl_spec.rb +0 -1
- data/spec/unit/util/storage_spec.rb +125 -12
- data/spec/unit/util/suidmanager_spec.rb +83 -91
- data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
- data/spec/unit/util/tag_set_spec.rb +8 -2
- data/spec/unit/util/tagging_spec.rb +27 -9
- data/spec/unit/util/terminal_spec.rb +9 -10
- data/spec/unit/util/user_attr_spec.rb +1 -2
- data/spec/unit/util/warnings_spec.rb +3 -4
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
- data/spec/unit/util/watcher_spec.rb +51 -21
- data/spec/unit/util/windows/access_control_entry_spec.rb +1 -2
- data/spec/unit/util/windows/access_control_list_spec.rb +1 -2
- data/spec/unit/util/windows/adsi_spec.rb +285 -137
- data/spec/unit/util/windows/api_types_spec.rb +105 -42
- data/spec/unit/util/windows/eventlog_spec.rb +10 -13
- data/spec/unit/util/windows/file_spec.rb +0 -1
- data/spec/unit/util/windows/root_certs_spec.rb +1 -2
- data/spec/unit/util/windows/security_descriptor_spec.rb +1 -3
- data/spec/unit/util/windows/service_spec.rb +677 -0
- data/spec/unit/util/windows/sid_spec.rb +131 -21
- data/spec/unit/util/windows/string_spec.rb +1 -2
- data/spec/unit/util/windows_spec.rb +23 -0
- data/spec/unit/util/yaml_spec.rb +193 -34
- data/spec/unit/util_spec.rb +110 -130
- data/spec/unit/version_spec.rb +6 -6
- data/spec/unit/x509/cert_provider_spec.rb +606 -0
- data/spec/unit/x509/pem_store_spec.rb +160 -0
- data/tasks/benchmark.rake +41 -0
- data/tasks/ci.rake +0 -5
- data/tasks/generate_cert_fixtures.rake +194 -0
- data/tasks/manpages.rake +15 -36
- data/tasks/parallel.rake +3 -3
- data/tasks/parser.rake +11 -3
- metadata +3497 -3514
- data/COMMITTERS.md +0 -244
- data/MAINTAINERS +0 -66
- data/ext/README.environment +0 -8
- data/ext/autotest/Rakefile +0 -8
- data/ext/autotest/config +0 -43
- data/ext/autotest/readme.rst +0 -16
- data/ext/cert_inspector +0 -140
- data/ext/dbfix.sql +0 -132
- data/ext/debian/README.Debian +0 -8
- data/ext/debian/README.source +0 -2
- data/ext/debian/TODO.Debian +0 -1
- data/ext/debian/changelog.erb +0 -1122
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -144
- data/ext/debian/copyright +0 -361
- data/ext/debian/docs +0 -1
- data/ext/debian/fileserver.conf +0 -41
- data/ext/debian/puppet-common.dirs +0 -13
- data/ext/debian/puppet-common.install +0 -3
- data/ext/debian/puppet-common.lintian-overrides +0 -5
- data/ext/debian/puppet-common.manpages +0 -28
- data/ext/debian/puppet-common.postinst +0 -35
- data/ext/debian/puppet-common.postrm +0 -33
- data/ext/debian/puppet-el.dirs +0 -1
- data/ext/debian/puppet-el.emacsen-install +0 -25
- data/ext/debian/puppet-el.emacsen-remove +0 -11
- data/ext/debian/puppet-el.emacsen-startup +0 -9
- data/ext/debian/puppet-el.install +0 -1
- data/ext/debian/puppet-testsuite.install +0 -2
- data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
- data/ext/debian/puppet.lintian-overrides +0 -3
- data/ext/debian/puppet.logrotate +0 -20
- data/ext/debian/puppet.postinst +0 -20
- data/ext/debian/puppet.postrm +0 -20
- data/ext/debian/puppet.preinst +0 -20
- data/ext/debian/puppetmaster-common.install +0 -2
- data/ext/debian/puppetmaster-common.manpages +0 -2
- data/ext/debian/puppetmaster-common.postinst +0 -6
- data/ext/debian/puppetmaster-passenger.dirs +0 -4
- data/ext/debian/puppetmaster-passenger.postinst +0 -162
- data/ext/debian/puppetmaster-passenger.postrm +0 -61
- data/ext/debian/puppetmaster.README.debian +0 -17
- data/ext/debian/puppetmaster.default +0 -14
- data/ext/debian/puppetmaster.init +0 -137
- data/ext/debian/puppetmaster.lintian-overrides +0 -3
- data/ext/debian/puppetmaster.postinst +0 -20
- data/ext/debian/puppetmaster.postrm +0 -5
- data/ext/debian/puppetmaster.preinst +0 -22
- data/ext/debian/rules +0 -132
- data/ext/debian/source/format +0 -1
- data/ext/debian/source/options +0 -1
- data/ext/debian/vim-puppet.README.Debian +0 -13
- data/ext/debian/vim-puppet.dirs +0 -5
- data/ext/debian/vim-puppet.yaml +0 -7
- data/ext/debian/watch +0 -2
- data/ext/envpuppet +0 -139
- data/ext/envpuppet.bat +0 -14
- data/ext/freebsd/puppetd +0 -26
- data/ext/freebsd/puppetmasterd +0 -26
- data/ext/gentoo/conf.d/puppet +0 -5
- data/ext/gentoo/conf.d/puppetmaster +0 -12
- data/ext/gentoo/init.d/puppet +0 -38
- data/ext/gentoo/init.d/puppetmaster +0 -51
- data/ext/gentoo/puppet/fileserver.conf +0 -41
- data/ext/ips/puppet-agent +0 -44
- data/ext/ips/puppet-master +0 -44
- data/ext/ips/puppet.p5m.erb +0 -12
- data/ext/ips/puppetagent.xml +0 -42
- data/ext/ips/puppetmaster.xml +0 -42
- data/ext/ips/rules +0 -19
- data/ext/ips/transforms +0 -34
- data/ext/ldap/puppet.schema +0 -24
- data/ext/logcheck/puppet +0 -23
- data/ext/osx/file_mapping.yaml +0 -33
- data/ext/osx/postflight.erb +0 -109
- data/ext/osx/preflight.erb +0 -52
- data/ext/osx/prototype.plist.erb +0 -38
- data/ext/puppet-test +0 -477
- data/ext/pure_ruby_dsl/dsl_test.rb +0 -7
- data/ext/rack/config.ru +0 -44
- data/ext/rack/example-passenger-vhost.conf +0 -57
- data/ext/redhat/fileserver.conf +0 -41
- data/ext/redhat/logrotate +0 -21
- data/ext/redhat/puppet.spec.erb +0 -846
- data/ext/redhat/server.init +0 -128
- data/ext/redhat/server.sysconfig +0 -13
- data/ext/solaris/pkginfo +0 -6
- data/ext/solaris/smf/puppetd.xml +0 -77
- data/ext/solaris/smf/puppetmasterd.xml +0 -77
- data/ext/solaris/smf/svc-puppetd +0 -64
- data/ext/solaris/smf/svc-puppetmasterd +0 -60
- data/ext/suse/puppet.spec +0 -310
- data/ext/suse/server.init +0 -173
- data/ext/upload_facts.rb +0 -119
- data/ext/windows/eventlog/Rakefile +0 -32
- data/ext/windows/eventlog/puppetres.dll +0 -0
- data/ext/windows/eventlog/puppetres.mc +0 -18
- data/ext/yaml_nodes.rb +0 -105
- data/lib/puppet/application/ca.rb +0 -11
- data/lib/puppet/application/certificate.rb +0 -17
- data/lib/puppet/application/certificate_request.rb +0 -7
- data/lib/puppet/application/certificate_revocation_list.rb +0 -7
- data/lib/puppet/application/master.rb +0 -317
- data/lib/puppet/bindings.rb +0 -148
- data/lib/puppet/configurer/downloader_factory.rb +0 -44
- data/lib/puppet/external/nagios/base.rb +0 -472
- data/lib/puppet/external/nagios/grammar.ry +0 -248
- data/lib/puppet/external/nagios/makefile +0 -9
- data/lib/puppet/external/nagios/parser.rb +0 -400
- data/lib/puppet/external/nagios.rb +0 -46
- data/lib/puppet/face/ca.rb +0 -266
- data/lib/puppet/face/certificate.rb +0 -165
- data/lib/puppet/face/certificate_request.rb +0 -56
- data/lib/puppet/face/certificate_revocation_list.rb +0 -56
- data/lib/puppet/feature/rack.rb +0 -19
- data/lib/puppet/graph/random_prioritizer.rb +0 -16
- data/lib/puppet/graph/title_hash_prioritizer.rb +0 -16
- data/lib/puppet/indirector/certificate/ca.rb +0 -9
- data/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/certificate_request/ca.rb +0 -22
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/certificate_revocation_list/ca.rb +0 -8
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/certificate_revocation_list/file.rb +0 -8
- data/lib/puppet/indirector/certificate_revocation_list/rest.rb +0 -22
- data/lib/puppet/indirector/certificate_status/file.rb +0 -91
- data/lib/puppet/indirector/certificate_status/rest.rb +0 -11
- data/lib/puppet/indirector/certificate_status.rb +0 -4
- data/lib/puppet/indirector/key/ca.rb +0 -16
- data/lib/puppet/indirector/key/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/ldap.rb +0 -80
- data/lib/puppet/indirector/node/ldap.rb +0 -259
- data/lib/puppet/indirector/node/write_only_yaml.rb +0 -39
- data/lib/puppet/module_tool/applications/builder.rb +0 -148
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +0 -18
- data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +0 -89
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -32
- data/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +0 -12
- data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +0 -48
- data/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +0 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +0 -6
- data/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +0 -1
- data/lib/puppet/network/http/api/ca/v1.rb +0 -11
- data/lib/puppet/network/http/api/ca.rb +0 -2
- data/lib/puppet/network/http/rack/rest.rb +0 -162
- data/lib/puppet/network/http/rack.rb +0 -33
- data/lib/puppet/network/http/webrick/rest.rb +0 -114
- data/lib/puppet/network/http/webrick.rb +0 -123
- data/lib/puppet/network/server.rb +0 -39
- data/lib/puppet/pops/loader/null_loader.rb +0 -60
- data/lib/puppet/provider/aixobject.rb +0 -392
- data/lib/puppet/provider/augeas/augeas.rb +0 -567
- data/lib/puppet/provider/cisco.rb +0 -9
- data/lib/puppet/provider/computer/computer.rb +0 -20
- data/lib/puppet/provider/cron/crontab.rb +0 -297
- data/lib/puppet/provider/host/parsed.rb +0 -46
- data/lib/puppet/provider/interface/cisco.rb +0 -27
- data/lib/puppet/provider/macauthorization/macauthorization.rb +0 -298
- data/lib/puppet/provider/mailalias/aliases.rb +0 -50
- data/lib/puppet/provider/maillist/mailman.rb +0 -108
- data/lib/puppet/provider/mcx/mcxcontent.rb +0 -173
- data/lib/puppet/provider/mount/parsed.rb +0 -282
- data/lib/puppet/provider/mount.rb +0 -59
- data/lib/puppet/provider/naginator.rb +0 -63
- data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +0 -590
- data/lib/puppet/provider/selboolean/getsetsebool.rb +0 -47
- data/lib/puppet/provider/selmodule/semodule.rb +0 -140
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +0 -105
- data/lib/puppet/provider/sshkey/parsed.rb +0 -50
- data/lib/puppet/provider/vlan/cisco.rb +0 -28
- data/lib/puppet/provider/yumrepo/inifile.rb +0 -305
- data/lib/puppet/provider/zfs/zfs.rb +0 -88
- data/lib/puppet/provider/zone/solaris.rb +0 -364
- data/lib/puppet/provider/zpool/zpool.rb +0 -125
- data/lib/puppet/ssl/certificate_authority/autosign_command.rb +0 -45
- data/lib/puppet/ssl/certificate_authority/interface.rb +0 -324
- data/lib/puppet/ssl/certificate_authority.rb +0 -553
- data/lib/puppet/ssl/certificate_revocation_list.rb +0 -110
- data/lib/puppet/ssl/configuration.rb +0 -61
- data/lib/puppet/ssl/inventory.rb +0 -55
- data/lib/puppet/type/augeas.rb +0 -211
- data/lib/puppet/type/computer.rb +0 -66
- data/lib/puppet/type/cron.rb +0 -475
- data/lib/puppet/type/host.rb +0 -95
- data/lib/puppet/type/interface.rb +0 -121
- data/lib/puppet/type/k5login.rb +0 -88
- data/lib/puppet/type/macauthorization.rb +0 -167
- data/lib/puppet/type/mailalias.rb +0 -46
- data/lib/puppet/type/maillist.rb +0 -62
- data/lib/puppet/type/mcx.rb +0 -98
- data/lib/puppet/type/mount.rb +0 -310
- data/lib/puppet/type/nagios_command.rb +0 -3
- data/lib/puppet/type/nagios_contact.rb +0 -3
- data/lib/puppet/type/nagios_contactgroup.rb +0 -3
- data/lib/puppet/type/nagios_host.rb +0 -3
- data/lib/puppet/type/nagios_hostdependency.rb +0 -3
- data/lib/puppet/type/nagios_hostescalation.rb +0 -3
- data/lib/puppet/type/nagios_hostextinfo.rb +0 -3
- data/lib/puppet/type/nagios_hostgroup.rb +0 -3
- data/lib/puppet/type/nagios_service.rb +0 -3
- data/lib/puppet/type/nagios_servicedependency.rb +0 -3
- data/lib/puppet/type/nagios_serviceescalation.rb +0 -3
- data/lib/puppet/type/nagios_serviceextinfo.rb +0 -3
- data/lib/puppet/type/nagios_servicegroup.rb +0 -3
- data/lib/puppet/type/nagios_timeperiod.rb +0 -3
- data/lib/puppet/type/router.rb +0 -17
- data/lib/puppet/type/scheduled_task.rb +0 -183
- data/lib/puppet/type/selboolean.rb +0 -26
- data/lib/puppet/type/selmodule.rb +0 -59
- data/lib/puppet/type/ssh_authorized_key.rb +0 -143
- data/lib/puppet/type/sshkey.rb +0 -83
- data/lib/puppet/type/vlan.rb +0 -26
- data/lib/puppet/type/yumrepo.rb +0 -409
- data/lib/puppet/type/zfs.rb +0 -150
- data/lib/puppet/type/zone.rb +0 -382
- data/lib/puppet/type/zpool.rb +0 -91
- data/lib/puppet/util/methodhelper.rb +0 -32
- data/lib/puppet/util/nagios_maker.rb +0 -85
- data/lib/puppet/util/network_device/cisco/device.rb +0 -285
- data/lib/puppet/util/network_device/cisco/facts.rb +0 -72
- data/lib/puppet/util/network_device/cisco/interface.rb +0 -94
- data/lib/puppet/util/network_device/cisco.rb +0 -4
- data/lib/puppet/util/network_device/ipcalc.rb +0 -68
- data/lib/puppet/util/network_device/transport/ssh.rb +0 -126
- data/lib/puppet/util/network_device/transport/telnet.rb +0 -47
- data/lib/puppet/util/windows/taskscheduler.rb +0 -1276
- data/lib/puppet/vendor/deep_merge/CHANGELOG +0 -45
- data/lib/puppet/vendor/deep_merge/Gemfile +0 -3
- data/lib/puppet/vendor/deep_merge/LICENSE +0 -21
- data/lib/puppet/vendor/deep_merge/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/deep_merge/README.md +0 -113
- data/lib/puppet/vendor/deep_merge/Rakefile +0 -19
- data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +0 -35
- data/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +0 -210
- data/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +0 -28
- data/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +0 -27
- data/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +0 -2
- data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +0 -608
- data/lib/puppet/vendor/load_deep_merge.rb +0 -1
- data/lib/puppet/vendor/load_semantic.rb +0 -1
- data/lib/puppet/vendor/load_semantic_puppet.rb +0 -1
- data/lib/puppet/vendor/semantic/lib/semantic.rb +0 -5
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +0 -60
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +0 -117
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +0 -58
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +0 -25
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +0 -31
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +0 -181
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +0 -3
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +0 -203
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +0 -758
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +0 -11
- data/locales/ja/puppet.po +0 -11234
- data/man/man8/puppet-ca.8 +0 -196
- data/man/man8/puppet-cert.8 +0 -118
- data/man/man8/puppet-certificate.8 +0 -240
- data/man/man8/puppet-certificate_request.8 +0 -161
- data/man/man8/puppet-certificate_revocation_list.8 +0 -139
- data/man/man8/puppet-master.8 +0 -85
- data/spec/fixtures/integration/provider/cron/crontab/create_normal_entry +0 -19
- data/spec/fixtures/integration/provider/cron/crontab/create_special_entry +0 -18
- data/spec/fixtures/integration/provider/cron/crontab/crontab_user1 +0 -15
- data/spec/fixtures/integration/provider/cron/crontab/crontab_user2 +0 -4
- data/spec/fixtures/integration/provider/cron/crontab/modify_entry +0 -13
- data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input1 +0 -15
- data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input2 +0 -6
- data/spec/fixtures/integration/provider/cron/crontab/purged +0 -8
- data/spec/fixtures/integration/provider/cron/crontab/remove_named_resource +0 -12
- data/spec/fixtures/integration/provider/cron/crontab/remove_unnamed_resource +0 -14
- data/spec/fixtures/integration/provider/cron/crontab/unspecialized +0 -15
- data/spec/fixtures/integration/provider/mailalias/aliases/test1 +0 -31
- data/spec/fixtures/integration/provider/sshkey/sample +0 -21
- data/spec/fixtures/unit/provider/augeas/augeas/augeas/lenses/test.aug +0 -13
- data/spec/fixtures/unit/provider/augeas/augeas/etc/fstab +0 -10
- data/spec/fixtures/unit/provider/augeas/augeas/etc/hosts +0 -6
- data/spec/fixtures/unit/provider/augeas/augeas/etc/test +0 -3
- data/spec/fixtures/unit/provider/augeas/augeas/test.aug +0 -13
- data/spec/fixtures/unit/provider/host/parsed/valid_hosts +0 -19
- data/spec/fixtures/unit/provider/mount/mount-output.aix.txt +0 -7
- data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +0 -152
- data/spec/fixtures/unit/provider/mount/parsed/aix.mount +0 -11
- data/spec/fixtures/unit/provider/mount/parsed/darwin.mount +0 -6
- data/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab +0 -8
- data/spec/fixtures/unit/provider/mount/parsed/freebsd.mount +0 -3
- data/spec/fixtures/unit/provider/mount/parsed/hpux.mount +0 -17
- data/spec/fixtures/unit/provider/mount/parsed/linux.fstab +0 -11
- data/spec/fixtures/unit/provider/mount/parsed/linux.mount +0 -5
- data/spec/fixtures/unit/provider/mount/parsed/netbsd.fstab +0 -9
- data/spec/fixtures/unit/provider/mount/parsed/netbsd.mount +0 -8
- data/spec/fixtures/unit/provider/mount/parsed/openbsd.fstab +0 -4
- data/spec/fixtures/unit/provider/mount/parsed/openbsd.mount +0 -4
- data/spec/fixtures/unit/provider/mount/parsed/solaris.fstab +0 -11
- data/spec/fixtures/unit/provider/mount/parsed/solaris.mount +0 -6
- data/spec/fixtures/unit/provider/naginator/define_empty_param +0 -6
- data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -8
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
- data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys +0 -7
- data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1 +0 -3
- data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2 +0 -1
- data/spec/fixtures/unit/provider/sshkey/parsed/sample +0 -21
- data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +0 -8
- data/spec/fixtures/unit/provider/zfs/zfs/zfs-list.out +0 -2
- data/spec/fixtures/unit/provider/zpool/zpool/zpool-list.out +0 -2
- data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_get/should_yield_to_the_block.yml +0 -24
- data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_head/should_yield_to_the_block.yml +0 -24
- data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_post/should_yield_to_the_block.yml +0 -24
- data/spec/integration/faces/ca_spec.rb +0 -354
- data/spec/integration/faces/config_spec.rb +0 -80
- data/spec/integration/faces/documentation_spec.rb +0 -58
- data/spec/integration/faces/plugin_spec.rb +0 -59
- data/spec/integration/file_bucket/file_spec.rb +0 -69
- data/spec/integration/file_serving/content_spec.rb +0 -8
- data/spec/integration/file_serving/fileset_spec.rb +0 -13
- data/spec/integration/file_serving/metadata_spec.rb +0 -9
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -21
- data/spec/integration/file_system/uniquefile_spec.rb +0 -29
- data/spec/integration/indirector/node/ldap_spec.rb +0 -14
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/provider/cron/crontab_spec.rb +0 -242
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -10
- data/spec/integration/provider/mount_spec.rb +0 -161
- data/spec/integration/provider/service/init_spec.rb +0 -46
- data/spec/integration/provider/service/systemd_spec.rb +0 -20
- data/spec/integration/provider/service/windows_spec.rb +0 -49
- data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -219
- data/spec/integration/provider/sshkey_spec.rb +0 -159
- data/spec/integration/provider/yumrepo_spec.rb +0 -130
- data/spec/integration/reference/providers_spec.rb +0 -16
- data/spec/integration/reports_spec.rb +0 -14
- data/spec/integration/ssl/autosign_spec.rb +0 -145
- data/spec/integration/ssl/certificate_authority_spec.rb +0 -162
- data/spec/integration/ssl/certificate_request_spec.rb +0 -47
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -34
- data/spec/integration/ssl/host_spec.rb +0 -81
- data/spec/integration/ssl/key_spec.rb +0 -104
- data/spec/integration/test/test_helper_spec.rb +0 -32
- data/spec/integration/type/nagios_spec.rb +0 -71
- data/spec/integration/type/user_spec.rb +0 -64
- data/spec/lib/matchers/include.rb +0 -27
- data/spec/lib/matchers/include_spec.rb +0 -32
- data/spec/shared_behaviours/file_serving_model.rb +0 -72
- data/spec/unit/application/cert_spec.rb +0 -240
- data/spec/unit/application/certificate_spec.rb +0 -22
- data/spec/unit/application/master_spec.rb +0 -404
- data/spec/unit/configurer/downloader_factory_spec.rb +0 -129
- data/spec/unit/face/ca_spec.rb +0 -10
- data/spec/unit/face/catalog_spec.rb +0 -7
- data/spec/unit/face/certificate_request_spec.rb +0 -10
- data/spec/unit/face/certificate_revocation_list_spec.rb +0 -10
- data/spec/unit/face/certificate_spec.rb +0 -231
- data/spec/unit/face/module/build_spec.rb +0 -69
- data/spec/unit/face/module_spec.rb +0 -3
- data/spec/unit/graph/title_hash_prioritizer_spec.rb +0 -49
- data/spec/unit/indirector/certificate/ca_spec.rb +0 -23
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -57
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -16
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -17
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -34
- data/spec/unit/indirector/certificate_status/file_spec.rb +0 -191
- data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -18
- data/spec/unit/indirector/code_spec.rb +0 -31
- data/spec/unit/indirector/key/ca_spec.rb +0 -23
- data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/ldap_spec.rb +0 -137
- data/spec/unit/indirector/node/ldap_spec.rb +0 -462
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +0 -12
- data/spec/unit/indirector/store_configs_spec.rb +0 -8
- data/spec/unit/man_spec.rb +0 -32
- data/spec/unit/module_tool/applications/builder_spec.rb +0 -432
- data/spec/unit/network/http/api/ca/v1_spec.rb +0 -26
- data/spec/unit/network/http/rack/rest_spec.rb +0 -325
- data/spec/unit/network/http/rack_spec.rb +0 -43
- data/spec/unit/network/http/webrick/rest_spec.rb +0 -231
- data/spec/unit/network/http/webrick_spec.rb +0 -280
- data/spec/unit/network/server_spec.rb +0 -95
- data/spec/unit/provider/aixobject_spec.rb +0 -101
- data/spec/unit/provider/augeas/augeas_spec.rb +0 -1025
- data/spec/unit/provider/cisco_spec.rb +0 -15
- data/spec/unit/provider/cron/crontab_spec.rb +0 -207
- data/spec/unit/provider/cron/parsed_spec.rb +0 -358
- data/spec/unit/provider/host/parsed_spec.rb +0 -233
- data/spec/unit/provider/interface/cisco_spec.rb +0 -57
- data/spec/unit/provider/macauthorization_spec.rb +0 -155
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -192
- data/spec/unit/provider/mount/parsed_spec.rb +0 -317
- data/spec/unit/provider/mount_spec.rb +0 -165
- data/spec/unit/provider/naginator_spec.rb +0 -79
- data/spec/unit/provider/network_device_spec.rb +0 -152
- data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +0 -2060
- data/spec/unit/provider/selboolean_spec.rb +0 -36
- data/spec/unit/provider/selmodule-example.pp +0 -0
- data/spec/unit/provider/selmodule_spec.rb +0 -79
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -277
- data/spec/unit/provider/sshkey/parsed_spec.rb +0 -95
- data/spec/unit/provider/vlan/cisco_spec.rb +0 -55
- data/spec/unit/provider/yumrepo/inifile_spec.rb +0 -326
- data/spec/unit/provider/zfs/zfs_spec.rb +0 -112
- data/spec/unit/provider/zone/solaris_spec.rb +0 -247
- data/spec/unit/provider/zpool/zpool_spec.rb +0 -251
- data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +0 -30
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +0 -560
- data/spec/unit/ssl/certificate_authority_spec.rb +0 -1184
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +0 -196
- data/spec/unit/ssl/configuration_spec.rb +0 -141
- data/spec/unit/ssl/inventory_spec.rb +0 -151
- data/spec/unit/type/augeas_spec.rb +0 -119
- data/spec/unit/type/computer_spec.rb +0 -80
- data/spec/unit/type/cron_spec.rb +0 -543
- data/spec/unit/type/host_spec.rb +0 -681
- data/spec/unit/type/interface_spec.rb +0 -129
- data/spec/unit/type/k5login_spec.rb +0 -115
- data/spec/unit/type/macauthorization_spec.rb +0 -113
- data/spec/unit/type/mailalias_spec.rb +0 -49
- data/spec/unit/type/maillist_spec.rb +0 -41
- data/spec/unit/type/mcx_spec.rb +0 -79
- data/spec/unit/type/mount_spec.rb +0 -634
- data/spec/unit/type/nagios_spec.rb +0 -313
- data/spec/unit/type/scheduled_task_spec.rb +0 -103
- data/spec/unit/type/selboolean_spec.rb +0 -44
- data/spec/unit/type/selmodule_spec.rb +0 -17
- data/spec/unit/type/ssh_authorized_key_spec.rb +0 -258
- data/spec/unit/type/sshkey_spec.rb +0 -77
- data/spec/unit/type/vlan_spec.rb +0 -44
- data/spec/unit/type/yumrepo_spec.rb +0 -398
- data/spec/unit/type/zfs_spec.rb +0 -46
- data/spec/unit/type/zone_spec.rb +0 -172
- data/spec/unit/type/zpool_spec.rb +0 -109
- data/spec/unit/util/nagios_maker_spec.rb +0 -122
- data/spec/unit/util/network_device/cisco/device_spec.rb +0 -482
- data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -64
- data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -88
- data/spec/unit/util/network_device/ipcalc_spec.rb +0 -62
- data/spec/unit/util/network_device/transport/ssh_spec.rb +0 -218
- data/spec/unit/util/network_device/transport/telnet_spec.rb +0 -86
- data/spec/watchr.rb +0 -138
data/lib/puppet/defaults.rb
CHANGED
@@ -1,13 +1,75 @@
|
|
1
|
+
require 'puppet/util/platform'
|
2
|
+
|
1
3
|
module Puppet
|
2
4
|
|
3
5
|
def self.default_diffargs
|
4
|
-
if (
|
6
|
+
if (Puppet.runtime[:facter].value(:kernel) == "AIX" && Puppet.runtime[:facter].value(:kernelmajversion) == "5300")
|
5
7
|
""
|
6
8
|
else
|
7
9
|
"-u"
|
8
10
|
end
|
9
11
|
end
|
10
12
|
|
13
|
+
def self.default_digest_algorithm
|
14
|
+
Puppet::Util::Platform.fips_enabled? ? 'sha256' : 'md5'
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.valid_digest_algorithms
|
18
|
+
Puppet::Util::Platform.fips_enabled? ?
|
19
|
+
%w[sha256 sha384 sha512 sha224] :
|
20
|
+
%w[md5 sha256 sha384 sha512 sha224]
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.default_file_checksum_types
|
24
|
+
Puppet::Util::Platform.fips_enabled? ?
|
25
|
+
%w[sha256 sha384 sha512 sha224] :
|
26
|
+
%w[md5 sha256 sha384 sha512 sha224]
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.valid_file_checksum_types
|
30
|
+
Puppet::Util::Platform.fips_enabled? ?
|
31
|
+
%w[sha256 sha256lite sha384 sha512 sha224 sha1 sha1lite mtime ctime] :
|
32
|
+
%w[md5 md5lite sha256 sha256lite sha384 sha512 sha224 sha1 sha1lite mtime ctime]
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.default_basemodulepath
|
36
|
+
if Puppet::Util::Platform.windows?
|
37
|
+
path = ['$codedir/modules']
|
38
|
+
installdir = ENV["FACTER_env_windows_installdir"]
|
39
|
+
if installdir
|
40
|
+
path << "#{installdir}/puppet/modules"
|
41
|
+
end
|
42
|
+
path.join(File::PATH_SEPARATOR)
|
43
|
+
else
|
44
|
+
'$codedir/modules:/opt/puppetlabs/puppet/modules'
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.default_vendormoduledir
|
49
|
+
if Puppet::Util::Platform.windows?
|
50
|
+
installdir = ENV["FACTER_env_windows_installdir"]
|
51
|
+
if installdir
|
52
|
+
"#{installdir}\\puppet\\vendor_modules"
|
53
|
+
else
|
54
|
+
nil
|
55
|
+
end
|
56
|
+
else
|
57
|
+
'/opt/puppetlabs/puppet/vendor_modules'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.default_cadir
|
62
|
+
return "" if Puppet::Util::Platform.windows?
|
63
|
+
old_ca_dir = "#{Puppet[:ssldir]}/ca"
|
64
|
+
new_ca_dir = '/etc/puppetlabs/puppetserver/ca'
|
65
|
+
|
66
|
+
if File.exist?("#{new_ca_dir}/ca_crt.pem")
|
67
|
+
new_ca_dir
|
68
|
+
else
|
69
|
+
old_ca_dir
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
11
73
|
############################################################################################
|
12
74
|
# NOTE: For information about the available values for the ":type" property of settings,
|
13
75
|
# see the docs for Settings.define_settings
|
@@ -15,7 +77,34 @@ module Puppet
|
|
15
77
|
|
16
78
|
AS_DURATION = %q{This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).}
|
17
79
|
|
18
|
-
|
80
|
+
# @api public
|
81
|
+
# @param args [Puppet::Settings] the settings object to define default settings for
|
82
|
+
# @return void
|
83
|
+
def self.initialize_default_settings!(settings)
|
84
|
+
settings.define_settings(:main,
|
85
|
+
:facterng => {
|
86
|
+
:default => false,
|
87
|
+
:type => :boolean,
|
88
|
+
:desc => 'Whether to enable a pre-Facter 4.0 release of Facter (distributed as
|
89
|
+
the "facter-ng" gem). This is not necessary if Facter 3.x or later is installed.
|
90
|
+
This setting is still experimental.',
|
91
|
+
:hook => proc do |value|
|
92
|
+
value = munge(value)
|
93
|
+
if value && Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('facterversion'), '4.0.0') < 0
|
94
|
+
begin
|
95
|
+
original_facter = Object.const_get(:Facter)
|
96
|
+
Object.send(:remove_const, :Facter)
|
97
|
+
|
98
|
+
require 'facter-ng'
|
99
|
+
# It is required to re-setup logger for facter-ng
|
100
|
+
Puppet::Util::Logging.setup_facter_logging!
|
101
|
+
rescue LoadError
|
102
|
+
Object.const_set(:Facter, original_facter)
|
103
|
+
raise ArgumentError, 'facter-ng could not be loaded'
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
},
|
19
108
|
:confdir => {
|
20
109
|
:default => nil,
|
21
110
|
:type => :directory,
|
@@ -52,7 +141,7 @@ module Puppet
|
|
52
141
|
}
|
53
142
|
)
|
54
143
|
|
55
|
-
define_settings(:main,
|
144
|
+
settings.define_settings(:main,
|
56
145
|
:logdir => {
|
57
146
|
:default => nil,
|
58
147
|
:type => :directory,
|
@@ -99,11 +188,24 @@ module Puppet
|
|
99
188
|
valid = %w[deprecations undefined_variables undefined_resources]
|
100
189
|
invalid = values - (values & valid)
|
101
190
|
if not invalid.empty?
|
102
|
-
raise ArgumentError, _("Cannot disable unrecognized warning types %{invalid}.") % { invalid: invalid.
|
103
|
-
' ' + _("Valid values are %{values}.") % { values: valid.
|
191
|
+
raise ArgumentError, _("Cannot disable unrecognized warning types '%{invalid}'.") % { invalid: invalid.join(',') } +
|
192
|
+
' ' + _("Valid values are '%{values}'.") % { values: valid.join(', ') }
|
104
193
|
end
|
105
194
|
end
|
106
195
|
},
|
196
|
+
:merge_dependency_warnings => {
|
197
|
+
:default => false,
|
198
|
+
:type => :boolean,
|
199
|
+
:desc => "Whether to merge class-level dependency failure warnings.
|
200
|
+
|
201
|
+
When a class has a failed dependency, every resource in the class
|
202
|
+
generates a notice level message about the dependency failure,
|
203
|
+
and a warning level message about skipping the resource.
|
204
|
+
|
205
|
+
If true, all messages caused by a class dependency failure are merged
|
206
|
+
into one message associated with the class.
|
207
|
+
",
|
208
|
+
},
|
107
209
|
:strict => {
|
108
210
|
:default => :warning,
|
109
211
|
:type => :symbolic_enum,
|
@@ -116,7 +218,7 @@ module Puppet
|
|
116
218
|
|
117
219
|
The strictness level is for both language semantics and runtime
|
118
220
|
evaluation validation. In addition to controlling the behavior with
|
119
|
-
this
|
221
|
+
this primary server switch some individual warnings may also be controlled
|
120
222
|
by the disable_warnings setting.
|
121
223
|
|
122
224
|
No new validations will be added to a micro (x.y.z) release,
|
@@ -143,7 +245,7 @@ module Puppet
|
|
143
245
|
}
|
144
246
|
)
|
145
247
|
|
146
|
-
define_settings(:main,
|
248
|
+
settings.define_settings(:main,
|
147
249
|
:priority => {
|
148
250
|
:default => nil,
|
149
251
|
:type => :priority,
|
@@ -156,12 +258,19 @@ module Puppet
|
|
156
258
|
:trace => {
|
157
259
|
:default => false,
|
158
260
|
:type => :boolean,
|
159
|
-
:desc => "Whether to print stack traces on some errors
|
261
|
+
:desc => "Whether to print stack traces on some errors. Will print
|
262
|
+
internal Ruby stack trace interleaved with Puppet function frames.",
|
160
263
|
:hook => proc do |value|
|
161
264
|
# Enable or disable Facter's trace option too
|
162
|
-
|
265
|
+
Puppet.runtime[:facter].trace(value)
|
163
266
|
end
|
164
267
|
},
|
268
|
+
:puppet_trace => {
|
269
|
+
:default => false,
|
270
|
+
:type => :boolean,
|
271
|
+
:desc => "Whether to print the Puppet stack trace on some errors.
|
272
|
+
This is a noop if `trace` is also set.",
|
273
|
+
},
|
165
274
|
:profile => {
|
166
275
|
:default => false,
|
167
276
|
:type => :boolean,
|
@@ -174,10 +283,19 @@ module Puppet
|
|
174
283
|
major releases of Puppet. Should be used with caution, as in development
|
175
284
|
features are experimental and can have unexpected effects."
|
176
285
|
},
|
286
|
+
:versioned_environment_dirs => {
|
287
|
+
:default => false,
|
288
|
+
:type => :boolean,
|
289
|
+
:desc => "Whether or not to look for versioned environment directories,
|
290
|
+
symlinked from `$environmentpath/<environment>`. This is an experimental
|
291
|
+
feature and should be used with caution."
|
292
|
+
},
|
177
293
|
:static_catalogs => {
|
178
294
|
:default => true,
|
179
295
|
:type => :boolean,
|
180
|
-
:desc => "Whether to compile a static catalog.
|
296
|
+
:desc => "Whether to compile a [static catalog](https://puppet.com/docs/puppet/latest/static_catalogs.html#enabling-or-disabling-static-catalogs),
|
297
|
+
which occurs only on Puppet Server when the `code-id-command` and
|
298
|
+
`code-content-command` settings are configured in its `puppetserver.conf` file.",
|
181
299
|
},
|
182
300
|
:strict_environment_mode => {
|
183
301
|
:default => false,
|
@@ -231,18 +349,18 @@ module Puppet
|
|
231
349
|
on the CLI.",
|
232
350
|
},
|
233
351
|
:configprint => {
|
234
|
-
:default
|
235
|
-
:
|
352
|
+
:default => "",
|
353
|
+
:deprecated => :completely,
|
354
|
+
:desc => "Prints the value of a specific configuration setting. If the name of a
|
236
355
|
setting is provided for this, then the value is printed and puppet
|
237
356
|
exits. Comma-separate multiple values. For a list of all values,
|
238
|
-
specify 'all'.",
|
357
|
+
specify 'all'. This setting is deprecated, the 'puppet config' command replaces this functionality.",
|
239
358
|
},
|
240
359
|
:color => {
|
241
360
|
:default => "ansi",
|
242
361
|
:type => :string,
|
243
362
|
:desc => "Whether to use colors when logging to the console. Valid values are
|
244
|
-
`ansi` (equivalent to `true`), `html`, and `false`, which produces no color.
|
245
|
-
Defaults to false on Windows, as its console does not support ansi colors.",
|
363
|
+
`ansi` (equivalent to `true`), `html`, and `false`, which produces no color."
|
246
364
|
},
|
247
365
|
:mkusers => {
|
248
366
|
:default => false,
|
@@ -250,9 +368,10 @@ module Puppet
|
|
250
368
|
:desc => "Whether to create the necessary user and group that puppet agent will run as.",
|
251
369
|
},
|
252
370
|
:manage_internal_file_permissions => {
|
253
|
-
:default =>
|
371
|
+
:default => ! Puppet::Util::Platform.windows?,
|
254
372
|
:type => :boolean,
|
255
|
-
:desc => "Whether Puppet should manage the owner, group, and mode of files it uses internally
|
373
|
+
:desc => "Whether Puppet should manage the owner, group, and mode of files it uses internally.
|
374
|
+
**Note**: For Windows agents, the default is `false` for versions 4.10.13 and greater, versions 5.5.6 and greater, and versions 6.0 and greater.",
|
256
375
|
},
|
257
376
|
:onetime => {
|
258
377
|
:default => false,
|
@@ -268,7 +387,7 @@ module Puppet
|
|
268
387
|
from the parent process.
|
269
388
|
|
270
389
|
This setting can only be set in the `[main]` section of puppet.conf; it cannot
|
271
|
-
be set in `[
|
390
|
+
be set in `[server]`, `[agent]`, or an environment config section.",
|
272
391
|
:call_hook => :on_define_and_write,
|
273
392
|
:hook => proc do |value|
|
274
393
|
Puppet::Util.set_env('PATH', '') if Puppet::Util.get_env('PATH').nil?
|
@@ -287,25 +406,19 @@ module Puppet
|
|
287
406
|
for those files that Puppet will load on demand, and is only
|
288
407
|
guaranteed to work for those cases. In fact, the autoload
|
289
408
|
mechanism is responsible for making sure this directory
|
290
|
-
is in Ruby's search path\n"
|
291
|
-
:call_hook => :on_initialize_and_write,
|
292
|
-
:hook => proc do |value|
|
293
|
-
$LOAD_PATH.delete(@oldlibdir) if defined?(@oldlibdir) && $LOAD_PATH.include?(@oldlibdir)
|
294
|
-
@oldlibdir = value
|
295
|
-
$LOAD_PATH << value
|
296
|
-
end
|
409
|
+
is in Ruby's search path\n"
|
297
410
|
},
|
298
411
|
:environment => {
|
299
412
|
:default => "production",
|
300
413
|
:desc => "The environment in which Puppet is running. For clients,
|
301
414
|
such as `puppet agent`, this determines the environment itself, which
|
302
|
-
Puppet uses to find modules and much more. For servers, such as `puppet
|
415
|
+
Puppet uses to find modules and much more. For servers, such as `puppet server`,
|
303
416
|
this provides the default environment for nodes that Puppet knows nothing about.
|
304
417
|
|
305
418
|
When defining an environment in the `[agent]` section, this refers to the
|
306
|
-
environment that the agent requests from the
|
419
|
+
environment that the agent requests from the primary server. The environment doesn't
|
307
420
|
have to exist on the local filesystem because the agent fetches it from the
|
308
|
-
|
421
|
+
primary server. This definition is used when running `puppet agent`.
|
309
422
|
|
310
423
|
When defined in the `[user]` section, the environment refers to the path that
|
311
424
|
Puppet uses to search for code and modules related to its execution. This
|
@@ -326,9 +439,20 @@ module Puppet
|
|
326
439
|
|
327
440
|
This setting must have a value set to enable **directory environments.** The
|
328
441
|
recommended value is `$codedir/environments`. For more details, see
|
329
|
-
<https://
|
442
|
+
<https://puppet.com/docs/puppet/latest/environments_about.html>",
|
330
443
|
:type => :path,
|
331
444
|
},
|
445
|
+
:use_last_environment => {
|
446
|
+
:type => :boolean,
|
447
|
+
:default => true,
|
448
|
+
:desc => <<-'EOT'
|
449
|
+
Puppet saves both the initial and converged environment in the last_run_summary file.
|
450
|
+
If they differ, and this setting is set to true, we will use the last converged
|
451
|
+
environment and skip the node request.
|
452
|
+
|
453
|
+
When set to false, we will do the node request and ignore the environment data from the last_run_summary file.
|
454
|
+
EOT
|
455
|
+
},
|
332
456
|
:always_retry_plugins => {
|
333
457
|
:type => :boolean,
|
334
458
|
:default => true,
|
@@ -356,7 +480,7 @@ module Puppet
|
|
356
480
|
files. The command to use can be chosen with the `diff` setting.",
|
357
481
|
},
|
358
482
|
:diff => {
|
359
|
-
:default => (Puppet.
|
483
|
+
:default => (Puppet::Util::Platform.windows? ? "" : "diff"),
|
360
484
|
:desc => "Which diff command to use when printing differences between files. This setting
|
361
485
|
has no default value on Windows, as standard `diff` is not available, but Puppet can use many
|
362
486
|
third-party diff tools.",
|
@@ -373,13 +497,13 @@ module Puppet
|
|
373
497
|
},
|
374
498
|
:daemonize => {
|
375
499
|
:type => :boolean,
|
376
|
-
:default => (Puppet.
|
500
|
+
:default => (Puppet::Util::Platform.windows? ? false : true),
|
377
501
|
:desc => "Whether to send the process into the background. This defaults
|
378
502
|
to true on POSIX systems, and to false on Windows (where Puppet
|
379
503
|
currently cannot daemonize).",
|
380
504
|
:short => "D",
|
381
505
|
:hook => proc do |value|
|
382
|
-
if value and Puppet.
|
506
|
+
if value and Puppet::Util::Platform.windows?
|
383
507
|
raise "Cannot daemonize on Windows"
|
384
508
|
end
|
385
509
|
end
|
@@ -415,7 +539,7 @@ module Puppet
|
|
415
539
|
|
416
540
|
* `plain` --- Returns no data, so that the main manifest controls all node configuration.
|
417
541
|
* `exec` --- Uses an
|
418
|
-
[external node classifier (ENC)](https://
|
542
|
+
[external node classifier (ENC)](https://puppet.com/docs/puppet/latest/nodes_external.html),
|
419
543
|
configured by the `external_nodes` setting. This lets you pull a list of Puppet classes
|
420
544
|
from any external system, using a small glue script to perform the request and format the
|
421
545
|
result as YAML.
|
@@ -427,7 +551,7 @@ module Puppet
|
|
427
551
|
:type => :terminus,
|
428
552
|
:default => nil,
|
429
553
|
:desc => "How to store cached nodes.
|
430
|
-
Valid values are (none), 'json', 'msgpack',
|
554
|
+
Valid values are (none), 'json', 'msgpack', or 'yaml'.",
|
431
555
|
},
|
432
556
|
:data_binding_terminus => {
|
433
557
|
:type => :terminus,
|
@@ -454,15 +578,15 @@ module Puppet
|
|
454
578
|
:hiera_config => {
|
455
579
|
:default => lambda do
|
456
580
|
config = nil
|
457
|
-
codedir =
|
581
|
+
codedir = settings[:codedir]
|
458
582
|
if codedir.is_a?(String)
|
459
583
|
config = File.expand_path(File.join(codedir, 'hiera.yaml'))
|
460
584
|
config = nil unless Puppet::FileSystem.exist?(config)
|
461
585
|
end
|
462
|
-
config = File.expand_path(File.join(
|
586
|
+
config = File.expand_path(File.join(settings[:confdir], 'hiera.yaml')) if config.nil?
|
463
587
|
config
|
464
588
|
end,
|
465
|
-
:desc => "The hiera configuration file. Puppet only reads this file on startup, so you must restart the puppet
|
589
|
+
:desc => "The hiera configuration file. Puppet only reads this file on startup, so you must restart the puppet server every time you edit it.",
|
466
590
|
:type => :file,
|
467
591
|
},
|
468
592
|
:binder_config => {
|
@@ -487,6 +611,25 @@ module Puppet
|
|
487
611
|
:default => 'facter',
|
488
612
|
:desc => "The node facts terminus.",
|
489
613
|
},
|
614
|
+
:trusted_external_command => {
|
615
|
+
:default => nil,
|
616
|
+
:type => :file_or_directory,
|
617
|
+
:desc => "The external trusted facts script or directory to use.
|
618
|
+
This setting's value can be set to the path to an executable command that
|
619
|
+
can produce external trusted facts or to a directory containing those
|
620
|
+
executable commands. The command(s) must:
|
621
|
+
|
622
|
+
* Take the name of a node as a command-line argument.
|
623
|
+
* Return a JSON hash with the external trusted facts for this node.
|
624
|
+
* For unknown or invalid nodes, exit with a non-zero exit code.
|
625
|
+
|
626
|
+
If the setting points to an executable command, then the external trusted
|
627
|
+
facts will be stored in the 'external' key of the trusted facts hash. Otherwise
|
628
|
+
for each executable file in the directory, the external trusted facts will be
|
629
|
+
stored in the `<basename>` key of the `trusted['external']` hash. For example,
|
630
|
+
if the files foo.rb and bar.sh are in the directory, then `trusted['external']`
|
631
|
+
will be the hash `{ 'foo' => <foo.rb output>, 'bar' => <bar.sh output> }`.",
|
632
|
+
},
|
490
633
|
:default_file_terminus => {
|
491
634
|
:type => :terminus,
|
492
635
|
:default => "rest",
|
@@ -497,9 +640,10 @@ module Puppet
|
|
497
640
|
},
|
498
641
|
:http_proxy_host => {
|
499
642
|
:default => "none",
|
500
|
-
:desc => "The HTTP proxy host to use for outgoing connections.
|
643
|
+
:desc => "The HTTP proxy host to use for outgoing connections. The proxy will be bypassed if
|
644
|
+
the server's hostname matches the NO_PROXY environment variable or `no_proxy` setting. Note: You
|
501
645
|
may need to use a FQDN for the server hostname when using a proxy. Environment variable
|
502
|
-
http_proxy or HTTP_PROXY will override this value",
|
646
|
+
http_proxy or HTTP_PROXY will override this value. ",
|
503
647
|
},
|
504
648
|
:http_proxy_port => {
|
505
649
|
:default => 3128,
|
@@ -512,7 +656,7 @@ module Puppet
|
|
512
656
|
:http_proxy_password =>{
|
513
657
|
:default => "none",
|
514
658
|
:hook => proc do |value|
|
515
|
-
if
|
659
|
+
if value =~ /[@!# \/]/
|
516
660
|
raise "Passwords set in the http_proxy_password setting must be valid as part of a URL, and any reserved characters must be URL-encoded. We received: #{value}"
|
517
661
|
end
|
518
662
|
end,
|
@@ -523,6 +667,10 @@ module Puppet
|
|
523
667
|
contains any characters with special meanings in URLs (as specified by RFC 3986
|
524
668
|
section 2.2), they must be URL-encoded. (For example, `#` would become `%23`.)",
|
525
669
|
},
|
670
|
+
:no_proxy => {
|
671
|
+
:default => "localhost, 127.0.0.1",
|
672
|
+
:desc => "List of host or domain names that should not go through `http_proxy_host`. Environment variable no_proxy or NO_PROXY will override this value. Names can be specified as an FQDN `host.example.com`, wildcard `*.example.com`, dotted domain `.example.com`, or suffix `example.com`.",
|
673
|
+
},
|
526
674
|
:http_keepalive_timeout => {
|
527
675
|
:default => "4s",
|
528
676
|
:type => :duration,
|
@@ -542,9 +690,10 @@ module Puppet
|
|
542
690
|
#{AS_DURATION}",
|
543
691
|
},
|
544
692
|
:http_read_timeout => {
|
693
|
+
:default => "10m",
|
545
694
|
:type => :duration,
|
546
|
-
:desc => "The time to wait for
|
547
|
-
read after the elapsed interval then the connection will be closed. The default value is
|
695
|
+
:desc => "The time to wait for data to be read from an HTTP connection. If nothing is
|
696
|
+
read after the elapsed interval then the connection will be closed. The default value is 10 minutes.
|
548
697
|
#{AS_DURATION}",
|
549
698
|
},
|
550
699
|
:http_user_agent => {
|
@@ -556,38 +705,72 @@ module Puppet
|
|
556
705
|
:type => :duration,
|
557
706
|
:desc => "The minimum time to wait between checking for updates in
|
558
707
|
configuration files. This timeout determines how quickly Puppet checks whether
|
559
|
-
a file (such as manifests or
|
708
|
+
a file (such as manifests or puppet.conf) has changed on disk. The default will
|
709
|
+
change in a future release to be 'unlimited', requiring a reload of the Puppet
|
710
|
+
service to pick up changes to its internal configuration. Currently we do not
|
711
|
+
accept a value of 'unlimited'. To reparse files within an environment in
|
712
|
+
Puppet Server please use the environment_cache endpoint",
|
713
|
+
:hook => proc do |val|
|
714
|
+
unless [0, 15, '15s'].include?(val)
|
715
|
+
Puppet.deprecation_warning(<<-WARNING)
|
716
|
+
Fine grained control of filetimeouts is deprecated. In future
|
717
|
+
releases this value will only determine if file content is cached.
|
718
|
+
|
719
|
+
Valid values are 0 (never cache) and 15 (15 second minimum wait time).
|
720
|
+
WARNING
|
721
|
+
end
|
722
|
+
end
|
560
723
|
},
|
561
724
|
:environment_timeout => {
|
562
725
|
:default => "0",
|
563
726
|
:type => :ttl,
|
564
|
-
:desc => "How long the Puppet
|
727
|
+
:desc => "How long the Puppet server should cache data it loads from an
|
565
728
|
environment.
|
566
|
-
|
729
|
+
|
567
730
|
A value of `0` will disable caching. This setting can also be set to
|
568
|
-
`unlimited`, which will cache environments until the
|
569
|
-
or told to refresh the cache.
|
731
|
+
`unlimited`, which will cache environments until the server is restarted
|
732
|
+
or told to refresh the cache. All other values will result in Puppet
|
733
|
+
server evicting expired environments. The expiration time is computed
|
734
|
+
based on either when the environment was created or last accessed, see
|
735
|
+
`environment_timeout_mode`.
|
570
736
|
|
571
737
|
You should change this setting once your Puppet deployment is doing
|
572
738
|
non-trivial work. We chose the default value of `0` because it lets new
|
573
739
|
users update their code without any extra steps, but it lowers the
|
574
|
-
performance of your Puppet
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
*
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
740
|
+
performance of your Puppet server. We recommend either:
|
741
|
+
|
742
|
+
* Setting this to `unlimited` and explicitly refreshing your Puppet server
|
743
|
+
as part of your code deployment process.
|
744
|
+
|
745
|
+
* Setting this to a number that will keep your most actively used
|
746
|
+
environments cached, but allow testing environments to fall out of the
|
747
|
+
cache and reduce memory usage. A value of 3 minutes (3m) is a reasonable
|
748
|
+
value. This option requires setting `environment_timeout_mode` to
|
749
|
+
`from_last_used`.
|
750
|
+
|
751
|
+
Once you set `environment_timeout` to a non-zero value, you need to tell
|
752
|
+
Puppet server to read new code from disk using the `environment-cache` API
|
753
|
+
endpoint after you deploy new code. See the docs for the Puppet Server
|
754
|
+
[administrative API](https://puppet.com/docs/puppetserver/latest/admin-api/v1/environment-cache.html).
|
755
|
+
",
|
756
|
+
:hook => proc do |val|
|
757
|
+
if Puppet[:environment_timeout_mode] == :from_created
|
758
|
+
unless [0, 'unlimited', Float::INFINITY].include?(val)
|
759
|
+
Puppet.deprecation_warning("Evicting environments based on their creation time is deprecated, please set `environment_timeout_mode` to `from_last_used` instead.")
|
760
|
+
end
|
761
|
+
end
|
762
|
+
end
|
763
|
+
},
|
764
|
+
:environment_timeout_mode => {
|
765
|
+
:default => :from_created,
|
766
|
+
:type => :symbolic_enum,
|
767
|
+
:values => [:from_created, :from_last_used],
|
768
|
+
:desc => "How Puppet interprets the `environment_timeout` setting when
|
769
|
+
`environment_timeout` is neither `0` nor `unlimited`. If set to
|
770
|
+
`from_created`, then the environment will be evicted `environment_timeout`
|
771
|
+
seconds from when it was created. If set to `from_last_used` then the
|
772
|
+
environment will be evicted `environment_timeout` seconds from when it
|
773
|
+
was last used."
|
591
774
|
},
|
592
775
|
:environment_data_provider => {
|
593
776
|
:desc => "The name of a registered environment data provider used when obtaining environment
|
@@ -621,13 +804,6 @@ module Puppet
|
|
621
804
|
essentially means that you can't have any code outside of a node,
|
622
805
|
class, or definition other than in the site manifest.",
|
623
806
|
},
|
624
|
-
:trusted_server_facts => {
|
625
|
-
:default => true,
|
626
|
-
:type => :boolean,
|
627
|
-
:deprecated => :completely,
|
628
|
-
:desc => "The 'trusted_server_facts' setting is deprecated and has no effect as the
|
629
|
-
feature this enabled is now always on. The setting will be removed in a future version of puppet.",
|
630
|
-
},
|
631
807
|
:preview_outputdir => {
|
632
808
|
:default => '$vardir/preview',
|
633
809
|
:type => :directory,
|
@@ -635,32 +811,24 @@ module Puppet
|
|
635
811
|
:owner => "service",
|
636
812
|
:group => "service",
|
637
813
|
:desc => "The directory where catalog previews per node are generated."
|
814
|
+
},
|
815
|
+
:location_trusted => {
|
816
|
+
:default => false,
|
817
|
+
:type => :boolean,
|
818
|
+
:desc => "This will allow sending the name + password and the cookie header to all hosts that puppet may redirect to.
|
819
|
+
This may or may not introduce a security breach if puppet redirects you to a site to which you'll send your authentication info and cookies."
|
638
820
|
}
|
639
821
|
)
|
640
822
|
|
641
|
-
define_settings(:
|
642
|
-
# Whether the application management feature is on or off - now deprecated and always on.
|
643
|
-
:app_management => {
|
644
|
-
:default => false,
|
645
|
-
:type => :boolean,
|
646
|
-
:desc => "This setting has no effect and will be removed in a future Puppet version.",
|
647
|
-
:deprecated => :completely,
|
648
|
-
}
|
649
|
-
)
|
650
|
-
|
651
|
-
Puppet.define_settings(:module_tool,
|
823
|
+
settings.define_settings(:module_tool,
|
652
824
|
:module_repository => {
|
653
825
|
:default => 'https://forgeapi.puppet.com',
|
654
826
|
:desc => "The module repository",
|
655
827
|
},
|
656
828
|
:module_working_dir => {
|
657
|
-
:default => (Puppet.
|
829
|
+
:default => (Puppet::Util::Platform.windows? ? Dir.tmpdir() : '$vardir/puppet-module'),
|
658
830
|
:desc => "The directory into which module tool data is stored",
|
659
831
|
},
|
660
|
-
:module_skeleton_dir => {
|
661
|
-
:default => '$module_working_dir/skeleton',
|
662
|
-
:desc => "The directory which the skeleton for module tool generate is stored.",
|
663
|
-
},
|
664
832
|
:forge_authorization => {
|
665
833
|
:default => nil,
|
666
834
|
:desc => "The authorization key to connect to the Puppet Forge. Leave blank for unauthorized or license based connections",
|
@@ -671,7 +839,7 @@ module Puppet
|
|
671
839
|
}
|
672
840
|
)
|
673
841
|
|
674
|
-
|
842
|
+
settings.define_settings(
|
675
843
|
:main,
|
676
844
|
|
677
845
|
# We have to downcase the fqdn, because the current ssl stuff (as opposed to in master) doesn't have good facilities for
|
@@ -679,37 +847,42 @@ module Puppet
|
|
679
847
|
:certname => {
|
680
848
|
:default => lambda { Puppet::Settings.default_certname.downcase },
|
681
849
|
:desc => "The name to use when handling certificates. When a node
|
682
|
-
requests a certificate from the CA
|
850
|
+
requests a certificate from the CA Puppet Server, it uses the value of the
|
683
851
|
`certname` setting as its requested Subject CN.
|
684
852
|
|
685
853
|
This is the name used when managing a node's permissions in
|
686
|
-
[auth.conf](https://
|
854
|
+
[auth.conf](https://puppet.com/docs/puppet/latest/config_file_auth.html).
|
687
855
|
In most cases, it is also used as the node's name when matching
|
688
|
-
[node definitions](https://
|
856
|
+
[node definitions](https://puppet.com/docs/puppet/latest/lang_node_definitions.html)
|
689
857
|
and requesting data from an ENC. (This can be changed with the `node_name_value`
|
690
858
|
and `node_name_fact` settings, although you should only do so if you have
|
691
859
|
a compelling reason.)
|
692
860
|
|
693
861
|
A node's certname is available in Puppet manifests as `$trusted['certname']`. (See
|
694
|
-
[Facts and Built-In Variables](https://
|
862
|
+
[Facts and Built-In Variables](https://puppet.com/docs/puppet/latest/lang_facts_and_builtin_vars.html)
|
695
863
|
for more details.)
|
696
864
|
|
697
865
|
* For best compatibility, you should limit the value of `certname` to
|
698
866
|
only use lowercase letters, numbers, periods, underscores, and dashes. (That is,
|
699
867
|
it should match `/\A[a-z0-9._-]+\Z/`.)
|
700
868
|
* The special value `ca` is reserved, and can't be used as the certname
|
701
|
-
for a normal node.
|
869
|
+
for a normal node.
|
870
|
+
|
871
|
+
**Note:** You must set the certname in the main section of the puppet.conf file. Setting it in a different section causes errors.
|
702
872
|
|
703
873
|
Defaults to the node's fully qualified domain name.",
|
704
|
-
:
|
874
|
+
:call_hook => :on_initialize_and_write,
|
875
|
+
:hook => proc { |value|
|
876
|
+
raise(ArgumentError, _("Certificate names must be lower case")) unless value == value.downcase
|
877
|
+
}},
|
705
878
|
:dns_alt_names => {
|
706
879
|
:default => '',
|
707
880
|
:desc => <<EOT,
|
708
881
|
A comma-separated list of alternate DNS names for Puppet Server. These are extra
|
709
882
|
hostnames (in addition to its `certname`) that the server is allowed to use when
|
710
|
-
serving agents. Puppet checks this setting when automatically
|
711
|
-
certificate for Puppet agent or Puppet Server, and
|
712
|
-
|
883
|
+
serving agents. Puppet checks this setting when automatically creating a
|
884
|
+
certificate for Puppet agent or Puppet Server. These can be either IP or DNS, and the type
|
885
|
+
should be specified and followed with a colon. Untyped inputs will default to DNS.
|
713
886
|
|
714
887
|
In order to handle agent requests at a given hostname (like
|
715
888
|
"puppet.example.com"), Puppet Server needs a certificate that proves it's
|
@@ -721,20 +894,12 @@ names.
|
|
721
894
|
|
722
895
|
**Note:** The list of alternate names is locked in when the server's
|
723
896
|
certificate is signed. If you need to change the list later, you can't just
|
724
|
-
change this setting; you also need to
|
725
|
-
|
726
|
-
|
727
|
-
* On the CA server: Revoke and clean the server's old certificate. (`puppet cert clean <NAME>`)
|
728
|
-
* On the server: Delete the old certificate (and any old certificate signing requests)
|
729
|
-
from the [ssldir](https://docs.puppetlabs.com/puppet/latest/reference/dirs_ssldir.html).
|
730
|
-
* On the server: Run `puppet agent -t --ca_server <CA HOSTNAME>` to request a new certificate
|
731
|
-
* On the CA server: Sign the certificate request, explicitly allowing alternate names
|
732
|
-
(`puppet cert sign --allow-dns-alt-names <NAME>`).
|
733
|
-
* On the server: Run `puppet agent -t --ca_server <CA HOSTNAME>` to retrieve the cert.
|
734
|
-
* On the server: Start Puppet Server again.
|
897
|
+
change this setting; you also need to regenerate the certificate. For more
|
898
|
+
information on that process, see the
|
899
|
+
[cert regen docs](https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html).
|
735
900
|
|
736
901
|
To see all the alternate names your servers are using, log into your CA server
|
737
|
-
and run `
|
902
|
+
and run `puppetserver ca list --all`, then check the output for `(alt names: ...)`.
|
738
903
|
Most agent nodes should NOT have alternate names; the only certs that should
|
739
904
|
have them are Puppet Server nodes that you want other agents to trust.
|
740
905
|
EOT
|
@@ -745,8 +910,8 @@ EOT
|
|
745
910
|
:desc => <<EOT
|
746
911
|
An optional file containing custom attributes to add to certificate signing
|
747
912
|
requests (CSRs). You should ensure that this file does not exist on your CA
|
748
|
-
|
749
|
-
certificates created with the `
|
913
|
+
Puppet Server; if it does, unwanted certificate extensions may leak into
|
914
|
+
certificates created with the `puppetserver ca generate` command.
|
750
915
|
|
751
916
|
If present, this file must be a YAML hash containing a `custom_attributes` key
|
752
917
|
and/or an `extension_requests` key. The value of each key must be a hash, where
|
@@ -760,13 +925,17 @@ This is useful for embedding a pre-shared key for autosigning policy executables
|
|
760
925
|
("challenge password") OID.
|
761
926
|
|
762
927
|
Extension requests will be permanently embedded in the final certificate.
|
763
|
-
Extension OIDs must be in the "ppRegCertExt" (`1.3.6.1.4.1.34380.1.1`)
|
764
|
-
"ppPrivCertExt" (`1.3.6.1.4.1.34380.1.2`)
|
928
|
+
Extension OIDs must be in the "ppRegCertExt" (`1.3.6.1.4.1.34380.1.1`),
|
929
|
+
"ppPrivCertExt" (`1.3.6.1.4.1.34380.1.2`), or
|
930
|
+
"ppAuthCertExt" (`1.3.6.1.4.1.34380.1.3`) OID arcs. The ppRegCertExt arc is
|
765
931
|
reserved for four of the most common pieces of data to embed: `pp_uuid` (`.1`),
|
766
932
|
`pp_instance_id` (`.2`), `pp_image_name` (`.3`), and `pp_preshared_key` (`.4`)
|
767
933
|
--- in the YAML file, these can be referred to by their short descriptive names
|
768
934
|
instead of their full OID. The ppPrivCertExt arc is unregulated, and can be used
|
769
|
-
for site-specific extensions.
|
935
|
+
for site-specific extensions. The ppAuthCert arc is reserved for two pieces of
|
936
|
+
data to embed: `pp_authorization` (`.1`) and `pp_auth_role` (`.13`). As with
|
937
|
+
ppRegCertExt, in the YAML file, these can be referred to by their short
|
938
|
+
descriptive name instead of their full OID.
|
770
939
|
EOT
|
771
940
|
},
|
772
941
|
:certdir => {
|
@@ -785,6 +954,11 @@ EOT
|
|
785
954
|
:group => "service",
|
786
955
|
:desc => "Where SSL certificates are kept."
|
787
956
|
},
|
957
|
+
:ssl_lockfile => {
|
958
|
+
:default => "$ssldir/ssl.lock",
|
959
|
+
:type => :string,
|
960
|
+
:desc => "A lock file to indicate that the ssl bootstrap process is currently in progress.",
|
961
|
+
},
|
788
962
|
:publickeydir => {
|
789
963
|
:default => "$ssldir/public_keys",
|
790
964
|
:type => :directory,
|
@@ -832,7 +1006,8 @@ EOT
|
|
832
1006
|
:mode => "0644",
|
833
1007
|
:owner => "service",
|
834
1008
|
:group => "service",
|
835
|
-
:
|
1009
|
+
:deprecated => :completely,
|
1010
|
+
:desc => "This setting is deprecated."
|
836
1011
|
},
|
837
1012
|
:hostcert => {
|
838
1013
|
:default => "$certdir/$certname.pem",
|
@@ -866,6 +1041,23 @@ EOT
|
|
866
1041
|
:group => "service",
|
867
1042
|
:desc => "Where each client stores the CA certificate."
|
868
1043
|
},
|
1044
|
+
:ca_fingerprint => {
|
1045
|
+
:default => nil,
|
1046
|
+
:type => :string,
|
1047
|
+
:desc => "The expected fingerprint of the CA certificate. If specified, the agent
|
1048
|
+
will compare the CA certificate fingerprint that it downloads against this value
|
1049
|
+
and reject the CA certificate if the values do not match. This only applies
|
1050
|
+
during the first download of the CA certificate."
|
1051
|
+
},
|
1052
|
+
:ssl_trust_store => {
|
1053
|
+
:default => nil,
|
1054
|
+
:type => :file,
|
1055
|
+
:desc => "A file containing CA certificates in PEM format that puppet should trust
|
1056
|
+
when making HTTPS requests. This **only** applies to https requests to non-puppet
|
1057
|
+
infrastructure, such as retrieving file metadata and content from https file sources,
|
1058
|
+
puppet module tool and the 'http' report processor. This setting is ignored when
|
1059
|
+
making requests to puppet:// URLs such as catalog and report requests.",
|
1060
|
+
},
|
869
1061
|
:ssl_client_ca_auth => {
|
870
1062
|
:type => :file,
|
871
1063
|
:mode => "0644",
|
@@ -874,17 +1066,20 @@ EOT
|
|
874
1066
|
:desc => "Certificate authorities who issue server certificates. SSL servers will not be
|
875
1067
|
considered authentic unless they possess a certificate issued by an authority
|
876
1068
|
listed in this file. If this setting has no value then the Puppet master's CA
|
877
|
-
certificate (localcacert) will be used."
|
1069
|
+
certificate (localcacert) will be used.",
|
1070
|
+
:hook => proc do |val|
|
1071
|
+
Puppet.deprecation_warning(_("Setting 'ssl_client_ca_auth' is deprecated."))
|
1072
|
+
end
|
878
1073
|
},
|
879
1074
|
:ssl_server_ca_auth => {
|
880
1075
|
:type => :file,
|
881
1076
|
:mode => "0644",
|
882
1077
|
:owner => "service",
|
883
1078
|
:group => "service",
|
884
|
-
:
|
885
|
-
|
886
|
-
|
887
|
-
|
1079
|
+
:deprecated => :completely,
|
1080
|
+
:desc => "The setting is deprecated and has no effect. Ensure all root and
|
1081
|
+
intermediate certificate authorities used to issue client certificates are
|
1082
|
+
contained in the server's `cacert` file on the server."
|
888
1083
|
},
|
889
1084
|
:hostcrl => {
|
890
1085
|
:default => "$ssldir/crl.pem",
|
@@ -898,142 +1093,136 @@ EOT
|
|
898
1093
|
:certificate_revocation => {
|
899
1094
|
:default => 'chain',
|
900
1095
|
:type => :certificate_revocation,
|
901
|
-
:desc =>
|
902
|
-
Whether certificate revocation checking should be enabled, and what level of
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
1096
|
+
:desc => <<-'EOT'
|
1097
|
+
Whether certificate revocation checking should be enabled, and what level of
|
1098
|
+
checking should be performed.
|
1099
|
+
|
1100
|
+
When certificate revocation is enabled, Puppet expects the contents of its CRL
|
1101
|
+
to be one or more PEM-encoded CRLs concatenated together. When using a cert
|
1102
|
+
bundle, CRLs for all CAs in the chain of trust must be included in the crl file.
|
1103
|
+
The chain should be ordered from least to most authoritative, with the first CRL
|
1104
|
+
listed being for the root of the chain and the last being for the leaf CA.
|
1105
|
+
|
1106
|
+
When certificate_revocation is set to 'true' or 'chain', Puppet ensures
|
1107
|
+
that each CA in the chain of trust has not been revoked by its issuing CA.
|
1108
|
+
|
1109
|
+
When certificate_revocation is set to 'leaf', Puppet verifies certs against
|
1110
|
+
the issuing CA's revocation list, but it does not verify the revocation status
|
1111
|
+
of the issuing CA or any CA above it within the chain of trust.
|
1112
|
+
|
1113
|
+
When certificate_revocation is set to 'false', Puppet disables all
|
1114
|
+
certificate revocation checking and does not attempt to download the CRL.
|
1115
|
+
EOT
|
1116
|
+
},
|
1117
|
+
:ciphers => {
|
1118
|
+
:default => 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256',
|
1119
|
+
:type => :string,
|
1120
|
+
:desc => "The list of ciphersuites for TLS connections initiated by puppet. The
|
1121
|
+
default value is chosen to support TLS 1.0 and up, but can be made
|
1122
|
+
more restrictive if needed. The ciphersuites must be specified in OpenSSL
|
1123
|
+
format, not IANA."
|
1124
|
+
},
|
1125
|
+
:key_type => {
|
1126
|
+
:default => 'rsa',
|
1127
|
+
:type => :enum,
|
1128
|
+
:values => %w[rsa ec],
|
1129
|
+
:desc => "The type of private key. Valid values are `rsa` and `ec`. Default is `rsa`."
|
1130
|
+
},
|
1131
|
+
:named_curve => {
|
1132
|
+
:default => 'prime256v1',
|
1133
|
+
:type => :string,
|
1134
|
+
:desc => "The short name for the EC curve used to generate the EC private key. Valid
|
1135
|
+
values must be one of the curves in `OpenSSL::PKey::EC.builtin_curves`.
|
1136
|
+
Default is `prime256v1`."
|
920
1137
|
},
|
921
1138
|
:digest_algorithm => {
|
922
|
-
:default =>
|
1139
|
+
:default => lambda { default_digest_algorithm },
|
923
1140
|
:type => :enum,
|
924
|
-
:values
|
925
|
-
:desc =>
|
926
|
-
Valid values are
|
1141
|
+
:values => valid_digest_algorithms,
|
1142
|
+
:desc => "Which digest algorithm to use for file resources and the filebucket.
|
1143
|
+
Valid values are #{valid_digest_algorithms.join(', ')}. Default is
|
1144
|
+
#{default_digest_algorithm}.",
|
927
1145
|
},
|
928
1146
|
:supported_checksum_types => {
|
929
|
-
:default =>
|
1147
|
+
:default => lambda { default_file_checksum_types },
|
930
1148
|
:type => :array,
|
931
|
-
:desc =>
|
932
|
-
static catalog. Values must be comma-separated. Valid types are
|
933
|
-
|
1149
|
+
:desc => "Checksum types supported by this agent for use in file resources of a
|
1150
|
+
static catalog. Values must be comma-separated. Valid types are
|
1151
|
+
#{valid_file_checksum_types.join(', ')}. Default is
|
1152
|
+
#{default_file_checksum_types.join(', ')}.",
|
934
1153
|
:hook => proc do |value|
|
935
1154
|
values = munge(value)
|
936
|
-
|
937
|
-
invalid = values
|
1155
|
+
|
1156
|
+
invalid = values - Puppet.valid_file_checksum_types
|
938
1157
|
if not invalid.empty?
|
939
|
-
raise ArgumentError, _("
|
940
|
-
|
1158
|
+
raise ArgumentError, _("Invalid value '%{value}' for parameter %{name}. Allowed values are '%{allowed_values}'") % {
|
1159
|
+
value: invalid.first, name: @name, allowed_values: Puppet.valid_file_checksum_types.join("', '")
|
1160
|
+
}
|
941
1161
|
end
|
942
1162
|
end
|
1163
|
+
},
|
1164
|
+
:logdest => {
|
1165
|
+
:type => :string,
|
1166
|
+
:desc => "Where to send log messages. Choose between 'syslog' (the POSIX syslog
|
1167
|
+
service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
|
1168
|
+
file. Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
|
1169
|
+
# Sure would be nice to set the Puppet::Util::Log destination here in an :on_initialize_and_write hook,
|
1170
|
+
# unfortunately we have a large number of tests that rely on the logging not resetting itself when the
|
1171
|
+
# settings are initialized as they test what gets logged during settings initialization.
|
943
1172
|
}
|
944
1173
|
)
|
945
1174
|
|
946
|
-
define_settings(
|
1175
|
+
settings.define_settings(
|
947
1176
|
:ca,
|
948
1177
|
:ca_name => {
|
949
|
-
:default
|
950
|
-
:desc
|
1178
|
+
:default => "Puppet CA: $certname",
|
1179
|
+
:desc => "The name to use the Certificate Authority certificate.",
|
951
1180
|
},
|
952
1181
|
:cadir => {
|
953
|
-
:default =>
|
1182
|
+
:default => lambda { default_cadir },
|
954
1183
|
:type => :directory,
|
955
|
-
:
|
956
|
-
:group => "service",
|
957
|
-
:mode => "0755",
|
958
|
-
:desc => "The root directory for the certificate authority."
|
1184
|
+
:desc => "The root directory for the certificate authority.",
|
959
1185
|
},
|
960
1186
|
:cacert => {
|
961
1187
|
:default => "$cadir/ca_crt.pem",
|
962
1188
|
:type => :file,
|
963
|
-
:
|
964
|
-
:group => "service",
|
965
|
-
:mode => "0644",
|
966
|
-
:desc => "The CA certificate."
|
1189
|
+
:desc => "The CA certificate.",
|
967
1190
|
},
|
968
1191
|
:cakey => {
|
969
1192
|
:default => "$cadir/ca_key.pem",
|
970
1193
|
:type => :file,
|
971
|
-
:
|
972
|
-
:group => "service",
|
973
|
-
:mode => "0640",
|
974
|
-
:desc => "The CA private key."
|
1194
|
+
:desc => "The CA private key.",
|
975
1195
|
},
|
976
1196
|
:capub => {
|
977
1197
|
:default => "$cadir/ca_pub.pem",
|
978
1198
|
:type => :file,
|
979
|
-
:
|
980
|
-
:group => "service",
|
981
|
-
:mode => "0644",
|
982
|
-
:desc => "The CA public key."
|
1199
|
+
:desc => "The CA public key.",
|
983
1200
|
},
|
984
1201
|
:cacrl => {
|
985
1202
|
:default => "$cadir/ca_crl.pem",
|
986
1203
|
:type => :file,
|
987
|
-
:
|
988
|
-
:group => "service",
|
989
|
-
:mode => "0644",
|
990
|
-
:desc => "The certificate revocation list (CRL) for the CA. Will be used if present but otherwise ignored.",
|
991
|
-
},
|
992
|
-
:caprivatedir => {
|
993
|
-
:default => "$cadir/private",
|
994
|
-
:type => :directory,
|
995
|
-
:owner => "service",
|
996
|
-
:group => "service",
|
997
|
-
:mode => "0750",
|
998
|
-
:desc => "Where the CA stores private certificate information."
|
1204
|
+
:desc => "The certificate revocation list (CRL) for the CA.",
|
999
1205
|
},
|
1000
1206
|
:csrdir => {
|
1001
1207
|
:default => "$cadir/requests",
|
1002
1208
|
:type => :directory,
|
1003
|
-
:
|
1004
|
-
:group => "service",
|
1005
|
-
:mode => "0755",
|
1006
|
-
:desc => "Where the CA stores certificate requests"
|
1209
|
+
:desc => "Where the CA stores certificate requests.",
|
1007
1210
|
},
|
1008
1211
|
:signeddir => {
|
1009
1212
|
:default => "$cadir/signed",
|
1010
1213
|
:type => :directory,
|
1011
|
-
:
|
1012
|
-
:group => "service",
|
1013
|
-
:mode => "0755",
|
1014
|
-
:desc => "Where the CA stores signed certificates."
|
1015
|
-
},
|
1016
|
-
:capass => {
|
1017
|
-
:default => "$caprivatedir/ca.pass",
|
1018
|
-
:type => :file,
|
1019
|
-
:owner => "service",
|
1020
|
-
:group => "service",
|
1021
|
-
:mode => "0640",
|
1022
|
-
:desc => "Where the CA stores the password for the private key."
|
1214
|
+
:desc => "Where the CA stores signed certificates.",
|
1023
1215
|
},
|
1024
1216
|
:serial => {
|
1025
1217
|
:default => "$cadir/serial",
|
1026
1218
|
:type => :file,
|
1027
|
-
:
|
1028
|
-
:group => "service",
|
1029
|
-
:mode => "0644",
|
1030
|
-
:desc => "Where the serial number for certificates is stored."
|
1219
|
+
:desc => "Where the serial number for certificates is stored.",
|
1031
1220
|
},
|
1032
1221
|
:autosign => {
|
1033
1222
|
:default => "$confdir/autosign.conf",
|
1034
1223
|
:type => :autosign,
|
1035
1224
|
:desc => "Whether (and how) to autosign certificate requests. This setting
|
1036
|
-
is only relevant on a
|
1225
|
+
is only relevant on a Puppet Server acting as a certificate authority (CA).
|
1037
1226
|
|
1038
1227
|
Valid values are true (autosigns all certificate requests; not recommended),
|
1039
1228
|
false (disables autosigning certificates), or the absolute path to a file.
|
@@ -1044,30 +1233,48 @@ EOT
|
|
1044
1233
|
file, it will be treated as a policy executable; otherwise, it will be
|
1045
1234
|
treated as a config file.
|
1046
1235
|
|
1047
|
-
If a custom policy executable is configured, the CA
|
1236
|
+
If a custom policy executable is configured, the CA Puppet Server will run it
|
1048
1237
|
every time it receives a CSR. The executable will be passed the subject CN of the
|
1049
1238
|
request _as a command line argument,_ and the contents of the CSR in PEM format
|
1050
1239
|
_on stdin._ It should exit with a status of 0 if the cert should be autosigned
|
1051
1240
|
and non-zero if the cert should not be autosigned.
|
1052
1241
|
|
1053
1242
|
If a certificate request is not autosigned, it will persist for review. An admin
|
1054
|
-
user can use the `
|
1243
|
+
user can use the `puppetserver ca sign` command to manually sign it, or can delete
|
1055
1244
|
the request.
|
1056
1245
|
|
1057
1246
|
For info on autosign configuration files, see
|
1058
|
-
[the guide to Puppet's config files](https://
|
1247
|
+
[the guide to Puppet's config files](https://puppet.com/docs/puppet/latest/config_file_autosign.html).",
|
1059
1248
|
},
|
1060
1249
|
:allow_duplicate_certs => {
|
1061
1250
|
:default => false,
|
1062
1251
|
:type => :boolean,
|
1063
|
-
:desc => "Whether to allow a new certificate
|
1064
|
-
|
1252
|
+
:desc => "Whether to allow a new certificate request to overwrite an existing
|
1253
|
+
certificate request. If true, then the old certificate must be cleaned using
|
1254
|
+
`puppetserver ca clean`, and the new request signed using `puppetserver ca sign`."
|
1065
1255
|
},
|
1066
1256
|
:ca_ttl => {
|
1067
1257
|
:default => "5y",
|
1068
1258
|
:type => :duration,
|
1069
1259
|
:desc => "The default TTL for new certificates.
|
1070
|
-
#{AS_DURATION}"
|
1260
|
+
#{AS_DURATION}",
|
1261
|
+
},
|
1262
|
+
:crl_refresh_interval => {
|
1263
|
+
:type => :duration,
|
1264
|
+
:desc => "How often the Puppet agent refreshes its local CRL. By
|
1265
|
+
default the CRL is only downloaded once, and never refreshed. If a
|
1266
|
+
duration is specified, then the agent will refresh its CRL whenever it
|
1267
|
+
next runs and the elapsed time since the CRL was last refreshed exceeds
|
1268
|
+
the duration.
|
1269
|
+
|
1270
|
+
In general, the duration should be greater than the `runinterval`.
|
1271
|
+
Setting it to an equal or lesser value will cause the CRL to be
|
1272
|
+
refreshed on every run.
|
1273
|
+
|
1274
|
+
If the agent downloads a new CRL, the agent will use it for subsequent
|
1275
|
+
network requests. If the refresh request fails or if the CRL is
|
1276
|
+
unchanged on the server, then the agent run will continue using the
|
1277
|
+
local CRL it already has.#{AS_DURATION}",
|
1071
1278
|
},
|
1072
1279
|
:keylength => {
|
1073
1280
|
:default => 4096,
|
@@ -1076,17 +1283,14 @@ EOT
|
|
1076
1283
|
:cert_inventory => {
|
1077
1284
|
:default => "$cadir/inventory.txt",
|
1078
1285
|
:type => :file,
|
1079
|
-
:mode => "0644",
|
1080
|
-
:owner => "service",
|
1081
|
-
:group => "service",
|
1082
1286
|
:desc => "The inventory file. This is a text file to which the CA writes a
|
1083
|
-
complete listing of all certificates."
|
1287
|
+
complete listing of all certificates.",
|
1084
1288
|
}
|
1085
1289
|
)
|
1086
1290
|
|
1087
1291
|
# Define the config default.
|
1088
1292
|
|
1089
|
-
define_settings(:application,
|
1293
|
+
settings.define_settings(:application,
|
1090
1294
|
:config_file_name => {
|
1091
1295
|
:type => :string,
|
1092
1296
|
:default => Puppet::Settings.default_config_file_name,
|
@@ -1109,17 +1313,13 @@ EOT
|
|
1109
1313
|
:default => nil,
|
1110
1314
|
:desc => "The address the agent should use to initiate requests.",
|
1111
1315
|
},
|
1112
|
-
:bindaddress => {
|
1113
|
-
:default => "*",
|
1114
|
-
:desc => "The address a listening server should bind to.",
|
1115
|
-
}
|
1116
1316
|
)
|
1117
1317
|
|
1118
|
-
define_settings(:environment,
|
1318
|
+
settings.define_settings(:environment,
|
1119
1319
|
:manifest => {
|
1120
1320
|
:default => nil,
|
1121
1321
|
:type => :file_or_directory,
|
1122
|
-
:desc => "The entry-point manifest for
|
1322
|
+
:desc => "The entry-point manifest for the primary server. This can be one file
|
1123
1323
|
or a directory of manifests to be evaluated in alphabetical order. Puppet manages
|
1124
1324
|
this path as a directory if one exists or if the path ends with a / or \\.
|
1125
1325
|
|
@@ -1128,7 +1328,7 @@ EOT
|
|
1128
1328
|
directory environments instead. If you need to use something other than the
|
1129
1329
|
environment's `manifests` directory as the main manifest, you can set
|
1130
1330
|
`manifest` in environment.conf. For more info, see
|
1131
|
-
<https://
|
1331
|
+
<https://puppet.com/docs/puppet/latest/environments_about.html>",
|
1132
1332
|
},
|
1133
1333
|
:modulepath => {
|
1134
1334
|
:default => "",
|
@@ -1142,7 +1342,7 @@ EOT
|
|
1142
1342
|
directory environments instead. If you need to use something other than the
|
1143
1343
|
default modulepath of `<ACTIVE ENVIRONMENT'S MODULES DIR>:$basemodulepath`,
|
1144
1344
|
you can set `modulepath` in environment.conf. For more info, see
|
1145
|
-
<https://
|
1345
|
+
<https://puppet.com/docs/puppet/latest/environments_about.html>",
|
1146
1346
|
},
|
1147
1347
|
:config_version => {
|
1148
1348
|
:default => "",
|
@@ -1154,18 +1354,22 @@ EOT
|
|
1154
1354
|
Setting a global value for config_version in puppet.conf is not allowed
|
1155
1355
|
(but it can be overridden from the commandline). Please set a
|
1156
1356
|
per-environment value in environment.conf instead. For more info, see
|
1157
|
-
<https://
|
1357
|
+
<https://puppet.com/docs/puppet/latest/environments_about.html>",
|
1158
1358
|
}
|
1159
1359
|
)
|
1160
1360
|
|
1161
|
-
define_settings(:
|
1361
|
+
settings.define_settings(:server,
|
1162
1362
|
:user => {
|
1163
1363
|
:default => "puppet",
|
1164
|
-
:desc => "The user
|
1364
|
+
:desc => "The user Puppet Server will run as. Used to ensure
|
1365
|
+
the agent side processes (agent, apply, etc) create files and
|
1366
|
+
directories readable by Puppet Server when necessary.",
|
1165
1367
|
},
|
1166
1368
|
:group => {
|
1167
1369
|
:default => "puppet",
|
1168
|
-
:desc => "The group
|
1370
|
+
:desc => "The group Puppet Server will run as. Used to ensure
|
1371
|
+
the agent side processes (agent, apply, etc) create files and
|
1372
|
+
directories readable by Puppet Server when necessary.",
|
1169
1373
|
},
|
1170
1374
|
:default_manifest => {
|
1171
1375
|
:default => "./manifests",
|
@@ -1204,32 +1408,34 @@ EOT
|
|
1204
1408
|
by `puppet`, and should only be set if you're writing your own Puppet
|
1205
1409
|
executable.",
|
1206
1410
|
},
|
1207
|
-
:masterhttplog => {
|
1208
|
-
:default => "$logdir/masterhttp.log",
|
1209
|
-
:type => :file,
|
1210
|
-
:owner => "service",
|
1211
|
-
:group => "service",
|
1212
|
-
:mode => "0660",
|
1213
|
-
:create => true,
|
1214
|
-
:desc => "Where the puppet master web server saves its access log. This is
|
1215
|
-
only used when running a WEBrick puppet master. When puppet master is
|
1216
|
-
running under a Rack server like Passenger, that web server will have
|
1217
|
-
its own logging behavior."
|
1218
|
-
},
|
1219
1411
|
:masterport => {
|
1220
1412
|
:default => 8140,
|
1221
|
-
:desc => "The port
|
1222
|
-
|
1223
|
-
|
1413
|
+
:desc => "The default port puppet subcommands use to communicate
|
1414
|
+
with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
|
1415
|
+
overridden by more specific settings (see `ca_port`, `report_port`).",
|
1416
|
+
},
|
1417
|
+
:serverport => {
|
1418
|
+
:type => :alias,
|
1419
|
+
:alias_for => :masterport
|
1224
1420
|
},
|
1225
1421
|
:node_name => {
|
1226
|
-
:default =>
|
1422
|
+
:default => 'cert',
|
1423
|
+
:type => :enum,
|
1424
|
+
:values => ['cert', 'facter'],
|
1425
|
+
:deprecated => :completely,
|
1426
|
+
:hook => proc { |val|
|
1427
|
+
if val != 'cert'
|
1428
|
+
Puppet.deprecation_warning("The node_name setting is deprecated and will be removed in a future release.")
|
1429
|
+
end
|
1430
|
+
},
|
1227
1431
|
:desc => "How the puppet master determines the client's identity
|
1228
1432
|
and sets the 'hostname', 'fqdn' and 'domain' facts for use in the manifest,
|
1229
1433
|
in particular for determining which 'node' statement applies to the client.
|
1230
1434
|
Possible values are 'cert' (use the subject's CN in the client's
|
1231
1435
|
certificate) and 'facter' (use the hostname that the client
|
1232
|
-
reported in its facts)
|
1436
|
+
reported in its facts).
|
1437
|
+
|
1438
|
+
This setting is deprecated, please use explicit fact matching for classification.",
|
1233
1439
|
},
|
1234
1440
|
:bucketdir => {
|
1235
1441
|
:default => "$vardir/bucket",
|
@@ -1242,14 +1448,11 @@ EOT
|
|
1242
1448
|
:rest_authconfig => {
|
1243
1449
|
:default => "$confdir/auth.conf",
|
1244
1450
|
:type => :file,
|
1451
|
+
:deprecated => :completely,
|
1245
1452
|
:desc => "The configuration file that defines the rights to the different
|
1246
|
-
rest indirections. This can be used as a fine-grained
|
1247
|
-
|
1248
|
-
|
1249
|
-
:ca => {
|
1250
|
-
:default => true,
|
1251
|
-
:type => :boolean,
|
1252
|
-
:desc => "Whether the master should function as a certificate authority.",
|
1453
|
+
rest indirections. This can be used as a fine-grained authorization system for
|
1454
|
+
`puppet master`. The `puppet master` command is deprecated and Puppet Server
|
1455
|
+
uses its own auth.conf that must be placed within its configuration directory.",
|
1253
1456
|
},
|
1254
1457
|
:trusted_oid_mapping_file => {
|
1255
1458
|
:default => "$confdir/custom_trusted_oid_mapping.yaml",
|
@@ -1257,7 +1460,7 @@ EOT
|
|
1257
1460
|
:desc => "File that provides mapping between custom SSL oids and user-friendly names"
|
1258
1461
|
},
|
1259
1462
|
:basemodulepath => {
|
1260
|
-
:default =>
|
1463
|
+
:default => lambda { default_basemodulepath },
|
1261
1464
|
:type => :path,
|
1262
1465
|
:desc => "The search path for **global** modules. Should be specified as a
|
1263
1466
|
list of directories separated by the system path separator character. (The
|
@@ -1266,7 +1469,15 @@ EOT
|
|
1266
1469
|
These are the modules that will be used by _all_ environments. Note that
|
1267
1470
|
the `modules` directory of the active environment will have priority over
|
1268
1471
|
any global directories. For more info, see
|
1269
|
-
<https://
|
1472
|
+
<https://puppet.com/docs/puppet/latest/environments_about.html>",
|
1473
|
+
},
|
1474
|
+
:vendormoduledir => {
|
1475
|
+
:default => lambda { default_vendormoduledir },
|
1476
|
+
:type => :string,
|
1477
|
+
:desc => "The directory containing **vendored** modules. These modules will
|
1478
|
+
be used by _all_ environments like those in the `basemodulepath`. The only
|
1479
|
+
difference is that modules in the `basemodulepath` are pluginsynced, while
|
1480
|
+
vendored modules are not",
|
1270
1481
|
},
|
1271
1482
|
:ssl_client_header => {
|
1272
1483
|
:default => "HTTP_X_CLIENT_DN",
|
@@ -1315,15 +1526,17 @@ EOT
|
|
1315
1526
|
their names should be comma-separated, with whitespace allowed. (For example,
|
1316
1527
|
`reports = http, store`.)
|
1317
1528
|
|
1318
|
-
This setting is relevant to puppet
|
1319
|
-
|
1529
|
+
This setting is relevant to puppet server and puppet apply. The primary Puppet
|
1530
|
+
server will call these report handlers with the reports it receives from
|
1320
1531
|
agent nodes, and puppet apply will call them with its own report. (In
|
1321
1532
|
all cases, the node applying the catalog must have `report = true`.)
|
1322
1533
|
|
1323
1534
|
See the report reference for information on the built-in report
|
1324
1535
|
handlers; custom report handlers can also be loaded from modules.
|
1325
1536
|
(Report handlers are loaded from the lib directory, at
|
1326
|
-
`puppet/reports/NAME.rb`.)
|
1537
|
+
`puppet/reports/NAME.rb`.)
|
1538
|
+
|
1539
|
+
To turn off reports entirely, set this to `none`",
|
1327
1540
|
},
|
1328
1541
|
:reportdir => {
|
1329
1542
|
:default => "$vardir/reports",
|
@@ -1347,14 +1560,23 @@ EOT
|
|
1347
1560
|
:desc => "Where the fileserver configuration is stored.",
|
1348
1561
|
},
|
1349
1562
|
:strict_hostname_checking => {
|
1350
|
-
:default =>
|
1563
|
+
:default => true,
|
1564
|
+
:type => :boolean,
|
1351
1565
|
:desc => "Whether to only search for the complete
|
1352
|
-
|
1353
|
-
|
1566
|
+
hostname as it is in the certificate when searching for node information
|
1567
|
+
in the catalogs or to match dot delimited segments of the cert's certname
|
1568
|
+
and the hostname, fqdn, and/or domain facts.
|
1569
|
+
|
1570
|
+
This setting is deprecated and will be removed in a future release.",
|
1571
|
+
:hook => proc { |val|
|
1572
|
+
if val != true
|
1573
|
+
Puppet.deprecation_warning("Setting strict_hostname_checking to false is deprecated and will be removed in a future release. Please use regular expressions in your node declarations or explicit fact matching for classification (though be warned that fact based classification may be considered insecure).")
|
1574
|
+
end
|
1575
|
+
}
|
1354
1576
|
}
|
1355
1577
|
)
|
1356
1578
|
|
1357
|
-
define_settings(:device,
|
1579
|
+
settings.define_settings(:device,
|
1358
1580
|
:devicedir => {
|
1359
1581
|
:default => "$vardir/devices",
|
1360
1582
|
:type => :directory,
|
@@ -1369,11 +1591,11 @@ EOT
|
|
1369
1591
|
}
|
1370
1592
|
)
|
1371
1593
|
|
1372
|
-
define_settings(:agent,
|
1594
|
+
settings.define_settings(:agent,
|
1373
1595
|
:node_name_value => {
|
1374
1596
|
:default => "$certname",
|
1375
1597
|
:desc => "The explicit value used for the node name for all requests the agent
|
1376
|
-
makes to the
|
1598
|
+
makes to the primary server. WARNING: This setting is mutually exclusive with
|
1377
1599
|
node_name_fact. Changing this setting also requires changes to the default
|
1378
1600
|
auth.conf configuration on the Puppet Master. Please see
|
1379
1601
|
http://links.puppet.com/node_name_value for more information."
|
@@ -1381,7 +1603,7 @@ EOT
|
|
1381
1603
|
:node_name_fact => {
|
1382
1604
|
:default => "",
|
1383
1605
|
:desc => "The fact name used to determine the node name used for all requests the agent
|
1384
|
-
makes to the
|
1606
|
+
makes to the primary server. WARNING: This setting is mutually exclusive with
|
1385
1607
|
node_name_value. Changing this setting also requires changes to the default
|
1386
1608
|
auth.conf configuration on the Puppet Master. Please see
|
1387
1609
|
http://links.puppet.com/node_name_fact for more information.",
|
@@ -1394,16 +1616,29 @@ EOT
|
|
1394
1616
|
:statefile => {
|
1395
1617
|
:default => "$statedir/state.yaml",
|
1396
1618
|
:type => :file,
|
1397
|
-
:mode => "
|
1398
|
-
:desc => "Where
|
1399
|
-
with the running configuration. In the case of
|
1619
|
+
:mode => "0640",
|
1620
|
+
:desc => "Where Puppet agent and Puppet Server store state associated
|
1621
|
+
with the running configuration. In the case of Puppet Server,
|
1400
1622
|
this file reflects the state discovered through interacting
|
1401
1623
|
with clients."
|
1402
|
-
|
1624
|
+
},
|
1625
|
+
:statettl => {
|
1626
|
+
:default => "32d",
|
1627
|
+
:type => :ttl,
|
1628
|
+
:desc => "How long the Puppet agent should cache when a resource was last checked or synced.
|
1629
|
+
#{AS_DURATION}
|
1630
|
+
A value of `0` or `unlimited` will disable cache pruning.
|
1631
|
+
|
1632
|
+
This setting affects the usage of `schedule` resources, as the information
|
1633
|
+
about when a resource was last checked (and therefore when it needs to be
|
1634
|
+
checked again) is stored in the `statefile`. The `statettl` needs to be
|
1635
|
+
large enough to ensure that a resource will not trigger multiple times
|
1636
|
+
during a schedule due to its entry expiring from the cache."
|
1637
|
+
},
|
1403
1638
|
:transactionstorefile => {
|
1404
1639
|
:default => "$statedir/transactionstore.yaml",
|
1405
1640
|
:type => :file,
|
1406
|
-
:mode => "
|
1641
|
+
:mode => "0640",
|
1407
1642
|
:desc => "Transactional storage file for persisting data between
|
1408
1643
|
transactions for the purposes of infering information (such as
|
1409
1644
|
corrective_change) on new data received."
|
@@ -1420,6 +1655,12 @@ EOT
|
|
1420
1655
|
:mode => "0750",
|
1421
1656
|
:desc => "The directory in which serialized data is stored on the client."
|
1422
1657
|
},
|
1658
|
+
:write_catalog_summary => {
|
1659
|
+
:default => true,
|
1660
|
+
:type => :boolean,
|
1661
|
+
:desc => "Whether to write the `classfile` and `resourcefile` after applying
|
1662
|
+
the catalog. It is enabled by default, except when running `puppet apply`.",
|
1663
|
+
},
|
1423
1664
|
:classfile => {
|
1424
1665
|
:default => "$statedir/classes.txt",
|
1425
1666
|
:type => :file,
|
@@ -1446,41 +1687,31 @@ EOT
|
|
1446
1687
|
the POSIX syslog service and the Windows Event Log are unavailable. (Currently,
|
1447
1688
|
no supported operating systems match that description.)
|
1448
1689
|
|
1449
|
-
Despite the name, both puppet agent and puppet
|
1690
|
+
Despite the name, both puppet agent and puppet server will use this file
|
1450
1691
|
as the fallback logging destination.
|
1451
1692
|
|
1452
1693
|
For control over logging destinations, see the `--logdest` command line
|
1453
|
-
option in the manual pages for puppet
|
1694
|
+
option in the manual pages for puppet server, puppet agent, and puppet
|
1454
1695
|
apply. You can see man pages by running `puppet <SUBCOMMAND> --help`,
|
1455
|
-
or read them online at https://
|
1696
|
+
or read them online at https://puppet.com/docs/puppet/latest/man/."
|
1697
|
+
},
|
1698
|
+
:deviceconfdir => {
|
1699
|
+
:default => "$confdir/devices",
|
1700
|
+
:type => :directory,
|
1701
|
+
:mode => "0750",
|
1702
|
+
:owner => "service",
|
1703
|
+
:group => "service",
|
1704
|
+
:desc => "The root directory of devices' $confdir.",
|
1456
1705
|
},
|
1457
1706
|
:server => {
|
1458
1707
|
:default => "puppet",
|
1459
|
-
:desc => "The
|
1460
|
-
:call_hook => :on_initialize_and_write,
|
1461
|
-
:hook => proc { |value|
|
1462
|
-
if Puppet.settings.set_by_config?(:server) && Puppet.settings.set_by_config?(:server_list)
|
1463
|
-
#TRANSLATOR 'server' and 'server_list' are setting names and should not be translated
|
1464
|
-
message = _('Attempted to set both server and server_list.')
|
1465
|
-
message += ' ' + _('Server setting will not be used.')
|
1466
|
-
Puppet.deprecation_warning(message, :SERVER_DUPLICATION)
|
1467
|
-
end
|
1468
|
-
}
|
1708
|
+
:desc => "The primary Puppet server to which the Puppet agent should connect.",
|
1469
1709
|
},
|
1470
1710
|
:server_list => {
|
1471
1711
|
:default => [],
|
1472
1712
|
:type => :server_list,
|
1473
|
-
:desc => "The list of
|
1713
|
+
:desc => "The list of primary Puppet servers to which the Puppet agent should connect,
|
1474
1714
|
in the order that they will be tried.",
|
1475
|
-
:call_hook => :on_initialize_and_write,
|
1476
|
-
:hook => proc { |value|
|
1477
|
-
if Puppet.settings.set_by_config?(:server) && Puppet.settings.set_by_config?(:server_list)
|
1478
|
-
#TRANSLATOR 'server' and 'server_list' are setting names and should not be translated
|
1479
|
-
message = _('Attempted to set both server and server_list.')
|
1480
|
-
message += ' ' + _('Server setting will not be used.')
|
1481
|
-
Puppet.deprecation_warning(message, :SERVER_DUPLICATION)
|
1482
|
-
end
|
1483
|
-
}
|
1484
1715
|
},
|
1485
1716
|
:use_srv_records => {
|
1486
1717
|
:default => false,
|
@@ -1491,6 +1722,12 @@ EOT
|
|
1491
1722
|
:default => lambda { Puppet::Settings.domain_fact },
|
1492
1723
|
:desc => "The domain which will be queried to find the SRV records of servers to use.",
|
1493
1724
|
},
|
1725
|
+
:http_extra_headers => {
|
1726
|
+
:default => [],
|
1727
|
+
:type => :http_extra_headers,
|
1728
|
+
:desc => "The list of extra headers that will be sent with http requests to the primary server.
|
1729
|
+
The header definition consists of a name and a value separated by a colon."
|
1730
|
+
},
|
1494
1731
|
:ignoreschedules => {
|
1495
1732
|
:default => false,
|
1496
1733
|
:type => :boolean,
|
@@ -1514,14 +1751,14 @@ EOT
|
|
1514
1751
|
like it does when running normally. However, if a resource attribute is not in
|
1515
1752
|
the desired state (as declared in the catalog), Puppet will take no
|
1516
1753
|
action, and will instead report the changes it _would_ have made. These
|
1517
|
-
simulated changes will appear in the report sent to the
|
1754
|
+
simulated changes will appear in the report sent to the primary Puppet server, or
|
1518
1755
|
be shown on the console if running puppet agent or puppet apply in the
|
1519
1756
|
foreground. The simulated changes will not send refresh events to any
|
1520
1757
|
subscribing or notified resources, although Puppet will log that a refresh
|
1521
1758
|
event _would_ have been sent.
|
1522
1759
|
|
1523
1760
|
**Important note:**
|
1524
|
-
[The `noop` metaparameter](https://
|
1761
|
+
[The `noop` metaparameter](https://puppet.com/docs/puppet/latest/metaparameter.html#noop)
|
1525
1762
|
allows you to apply individual resources in noop mode, and will override
|
1526
1763
|
the global value of the `noop` setting. This means a resource with
|
1527
1764
|
`noop => false` _will_ be changed if necessary, even when running puppet
|
@@ -1533,15 +1770,14 @@ EOT
|
|
1533
1770
|
:type => :duration,
|
1534
1771
|
:desc => "How often puppet agent applies the catalog.
|
1535
1772
|
Note that a runinterval of 0 means \"run continuously\" rather than
|
1536
|
-
\"never run.\"
|
1537
|
-
it with the `--no-client` option. #{AS_DURATION}",
|
1773
|
+
\"never run.\" #{AS_DURATION}",
|
1538
1774
|
},
|
1539
1775
|
:runtimeout => {
|
1540
|
-
:default =>
|
1776
|
+
:default => "1h",
|
1541
1777
|
:type => :duration,
|
1542
1778
|
:desc => "The maximum amount of time an agent run is allowed to take.
|
1543
|
-
A Puppet agent run that exceeds this timeout will be aborted.
|
1544
|
-
|
1779
|
+
A Puppet agent run that exceeds this timeout will be aborted. A value
|
1780
|
+
of 0 disables the timeout. Defaults to 1 hour. #{AS_DURATION}",
|
1545
1781
|
},
|
1546
1782
|
:ca_server => {
|
1547
1783
|
:default => "$server",
|
@@ -1550,7 +1786,7 @@ EOT
|
|
1550
1786
|
and does not need to horizontally scale.",
|
1551
1787
|
},
|
1552
1788
|
:ca_port => {
|
1553
|
-
:default => "$
|
1789
|
+
:default => "$serverport",
|
1554
1790
|
:desc => "The port to use for the certificate authority.",
|
1555
1791
|
},
|
1556
1792
|
:preferred_serialization_format => {
|
@@ -1569,7 +1805,7 @@ EOT
|
|
1569
1805
|
},
|
1570
1806
|
:agent_disabled_lockfile => {
|
1571
1807
|
:default => "$statedir/agent_disabled.lock",
|
1572
|
-
:type => :
|
1808
|
+
:type => :string,
|
1573
1809
|
:desc => "A lock file to indicate that puppet agent runs have been administratively
|
1574
1810
|
disabled. File contains a JSON object with state information.",
|
1575
1811
|
},
|
@@ -1586,20 +1822,16 @@ EOT
|
|
1586
1822
|
:type => :boolean,
|
1587
1823
|
:desc => "Whether to only use the cached catalog rather than compiling a new catalog
|
1588
1824
|
on every run. Puppet can be run with this enabled by default and then selectively
|
1589
|
-
disabled when a recompile is desired.
|
1825
|
+
disabled when a recompile is desired. Because a Puppet agent using cached catalogs
|
1826
|
+
does not contact the primary server for a new catalog, it also does not upload facts at
|
1827
|
+
the beginning of the Puppet run.",
|
1590
1828
|
},
|
1591
1829
|
:ignoremissingtypes => {
|
1592
1830
|
:default => false,
|
1593
1831
|
:type => :boolean,
|
1594
1832
|
:desc => "Skip searching for classes and definitions that were missing during a
|
1595
1833
|
prior compilation. The list of missing objects is maintained per-environment and
|
1596
|
-
persists until the environment is cleared or the
|
1597
|
-
},
|
1598
|
-
:ignorecache => {
|
1599
|
-
:default => false,
|
1600
|
-
:type => :boolean,
|
1601
|
-
:desc => "This setting has no effect and will be removed in a future Puppet version.",
|
1602
|
-
:deprecated => :completely,
|
1834
|
+
persists until the environment is cleared or the primary server is restarted.",
|
1603
1835
|
},
|
1604
1836
|
:splaylimit => {
|
1605
1837
|
:default => "$runinterval",
|
@@ -1629,7 +1861,7 @@ EOT
|
|
1629
1861
|
If you restart an agent's puppet service with `splay` enabled, it
|
1630
1862
|
recalculates its splay period and delays its first agent run after
|
1631
1863
|
restarting for this new period. If you simultaneously restart a group of
|
1632
|
-
puppet agents with `splay` enabled, their checkins to your
|
1864
|
+
puppet agents with `splay` enabled, their checkins to your primary servers
|
1633
1865
|
can be distributed more evenly.",
|
1634
1866
|
},
|
1635
1867
|
:clientbucketdir => {
|
@@ -1638,25 +1870,12 @@ EOT
|
|
1638
1870
|
:mode => "0750",
|
1639
1871
|
:desc => "Where FileBucket files are stored locally."
|
1640
1872
|
},
|
1641
|
-
:configtimeout => {
|
1642
|
-
:default => "2m",
|
1643
|
-
:type => :duration,
|
1644
|
-
:desc => "How long the client should wait for the configuration to be retrieved
|
1645
|
-
before considering it a failure. This setting is deprecated and has been replaced
|
1646
|
-
by http_connect_timeout and http_read_timeout.
|
1647
|
-
#{AS_DURATION}",
|
1648
|
-
:deprecated => :completely,
|
1649
|
-
:hook => proc do |value|
|
1650
|
-
Puppet[:http_connect_timeout] = value
|
1651
|
-
Puppet[:http_read_timeout] = value
|
1652
|
-
end
|
1653
|
-
},
|
1654
1873
|
:report_server => {
|
1655
1874
|
:default => "$server",
|
1656
1875
|
:desc => "The server to send transaction reports to.",
|
1657
1876
|
},
|
1658
1877
|
:report_port => {
|
1659
|
-
:default => "$
|
1878
|
+
:default => "$serverport",
|
1660
1879
|
:desc => "The port to communicate with the report_server.",
|
1661
1880
|
},
|
1662
1881
|
:report => {
|
@@ -1664,6 +1883,28 @@ EOT
|
|
1664
1883
|
:type => :boolean,
|
1665
1884
|
:desc => "Whether to send reports after every transaction.",
|
1666
1885
|
},
|
1886
|
+
:report_include_system_store => {
|
1887
|
+
:default => false,
|
1888
|
+
:type => :boolean,
|
1889
|
+
:desc => "Whether the 'http' report processor should include the system
|
1890
|
+
certificate store when submitting reports to HTTPS URLs. If false, then
|
1891
|
+
the 'http' processor will only trust HTTPS report servers whose certificates
|
1892
|
+
are issued by the puppet CA or one of its intermediate CAs. If true, the
|
1893
|
+
processor will additionally trust CA certificates in the system's
|
1894
|
+
certificate store."
|
1895
|
+
},
|
1896
|
+
:resubmit_facts => {
|
1897
|
+
:default => false,
|
1898
|
+
:type => :boolean,
|
1899
|
+
:desc => "Whether to send updated facts after every transaction. By default
|
1900
|
+
puppet only submits facts at the beginning of the transaction before applying a
|
1901
|
+
catalog. Since puppet can modify the state of the system, the value of the facts
|
1902
|
+
may change after puppet finishes. Therefore, any facts stored in puppetdb may not
|
1903
|
+
be consistent until the agent next runs, typically in 30 minutes. If this feature
|
1904
|
+
is enabled, puppet will resubmit facts after applying its catalog, ensuring facts
|
1905
|
+
for the node stored in puppetdb are current. However, this will double the fact
|
1906
|
+
submission load on puppetdb, so it is disabled by default.",
|
1907
|
+
},
|
1667
1908
|
:lastrunfile => {
|
1668
1909
|
:default => "$statedir/last_run_summary.yaml",
|
1669
1910
|
:type => :file,
|
@@ -1674,7 +1915,11 @@ EOT
|
|
1674
1915
|
:default => "$statedir/last_run_report.yaml",
|
1675
1916
|
:type => :file,
|
1676
1917
|
:mode => "0640",
|
1677
|
-
:desc => "Where
|
1918
|
+
:desc => "Where Puppet Agent stores the last run report, by default, in yaml format.
|
1919
|
+
The format of the report can be changed by setting the `cache` key of the `report` terminus
|
1920
|
+
in the [routes.yaml](https://puppet.com/docs/puppet/latest/config_file_routes.html) file.
|
1921
|
+
To avoid mismatches between content and file extension, this setting needs to be
|
1922
|
+
manually updated to reflect the terminus changes."
|
1678
1923
|
},
|
1679
1924
|
:graph => {
|
1680
1925
|
:default => false,
|
@@ -1708,43 +1953,49 @@ EOT
|
|
1708
1953
|
|
1709
1954
|
When starting for the first time, puppet agent will submit a certificate
|
1710
1955
|
signing request (CSR) to the server named in the `ca_server` setting
|
1711
|
-
(usually the
|
1956
|
+
(usually the primary Puppet server); this may be autosigned, or may need to be
|
1712
1957
|
approved by a human, depending on the CA server's configuration.
|
1713
1958
|
|
1714
1959
|
Puppet agent cannot apply configurations until its approved certificate is
|
1715
1960
|
available. Since the certificate may or may not be available immediately,
|
1716
1961
|
puppet agent will repeatedly try to fetch it at this interval. You can
|
1717
|
-
turn off waiting for certificates by specifying a time of 0,
|
1962
|
+
turn off waiting for certificates by specifying a time of 0, or a maximum
|
1963
|
+
amount of time to wait in the `maxwaitforcert` setting, in which case
|
1718
1964
|
puppet agent will exit if it cannot get a cert.
|
1719
1965
|
#{AS_DURATION}",
|
1720
1966
|
},
|
1721
|
-
:
|
1722
|
-
:
|
1723
|
-
:
|
1724
|
-
:
|
1725
|
-
|
1726
|
-
|
1727
|
-
|
1728
|
-
|
1729
|
-
|
1730
|
-
|
1731
|
-
|
1732
|
-
|
1733
|
-
|
1734
|
-
|
1735
|
-
|
1736
|
-
|
1737
|
-
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1967
|
+
:maxwaitforcert => {
|
1968
|
+
:default => "unlimited",
|
1969
|
+
:type => :ttl,
|
1970
|
+
:desc => "The maximum amount of time the Puppet agent should wait for its
|
1971
|
+
certificate request to be signed. A value of `unlimited` will cause puppet agent
|
1972
|
+
to ask for a signed certificate indefinitely.
|
1973
|
+
#{AS_DURATION}",
|
1974
|
+
},
|
1975
|
+
:waitforlock => {
|
1976
|
+
:default => "0",
|
1977
|
+
:type => :duration,
|
1978
|
+
:desc => "How frequently puppet agent should try running when there is an
|
1979
|
+
already ongoing puppet agent instance.
|
1980
|
+
|
1981
|
+
This argument is by default disabled (value set to 0). In this case puppet agent will
|
1982
|
+
immediately exit if it cannot run at that moment. When a value other than 0 is set, this
|
1983
|
+
can also be used in combination with the `maxwaitforlock` argument.
|
1984
|
+
#{AS_DURATION}",
|
1985
|
+
},
|
1986
|
+
:maxwaitforlock => {
|
1987
|
+
:default => "1m",
|
1988
|
+
:type => :ttl,
|
1989
|
+
:desc => "The maximum amount of time the puppet agent should wait for an
|
1990
|
+
already running puppet agent to finish before starting a new one. This is set by default to 1 minute.
|
1991
|
+
A value of `unlimited` will cause puppet agent to wait indefinitely.
|
1992
|
+
#{AS_DURATION}",
|
1742
1993
|
}
|
1743
1994
|
)
|
1744
1995
|
|
1745
1996
|
# Plugin information.
|
1746
1997
|
|
1747
|
-
define_settings(
|
1998
|
+
settings.define_settings(
|
1748
1999
|
:main,
|
1749
2000
|
:plugindest => {
|
1750
2001
|
:type => :directory,
|
@@ -1779,7 +2030,6 @@ EOT
|
|
1779
2030
|
is used for retrieval, so anything that is a valid file source can
|
1780
2031
|
be used here.",
|
1781
2032
|
},
|
1782
|
-
|
1783
2033
|
:pluginsync => {
|
1784
2034
|
:default => true,
|
1785
2035
|
:type => :boolean,
|
@@ -1791,14 +2041,21 @@ EOT
|
|
1791
2041
|
}
|
1792
2042
|
},
|
1793
2043
|
:pluginsignore => {
|
1794
|
-
:default => ".svn CVS .git .hg
|
2044
|
+
:default => ".svn CVS .git .hg",
|
1795
2045
|
:desc => "What files to ignore when pulling down plugins.",
|
2046
|
+
},
|
2047
|
+
:ignore_plugin_errors => {
|
2048
|
+
:default => true,
|
2049
|
+
:type => :boolean,
|
2050
|
+
:desc => "Whether the puppet run should ignore errors during pluginsync. If the setting
|
2051
|
+
is false and there are errors during pluginsync, then the agent will abort the run and
|
2052
|
+
submit a report containing information about the failed run."
|
1796
2053
|
}
|
1797
2054
|
)
|
1798
2055
|
|
1799
2056
|
# Central fact information.
|
1800
2057
|
|
1801
|
-
define_settings(
|
2058
|
+
settings.define_settings(
|
1802
2059
|
:main,
|
1803
2060
|
:factpath => {
|
1804
2061
|
:type => :path,
|
@@ -1810,12 +2067,13 @@ EOT
|
|
1810
2067
|
:call_hook => :on_initialize_and_write, # Call our hook with the default value, so we always get the value added to facter.
|
1811
2068
|
:hook => proc do |value|
|
1812
2069
|
paths = value.split(File::PATH_SEPARATOR)
|
1813
|
-
|
2070
|
+
facter = Puppet.runtime[:facter]
|
2071
|
+
facter.search(*paths)
|
1814
2072
|
end
|
1815
2073
|
}
|
1816
2074
|
)
|
1817
2075
|
|
1818
|
-
define_settings(
|
2076
|
+
settings.define_settings(
|
1819
2077
|
:transaction,
|
1820
2078
|
:tags => {
|
1821
2079
|
:default => "",
|
@@ -1843,7 +2101,7 @@ EOT
|
|
1843
2101
|
}
|
1844
2102
|
)
|
1845
2103
|
|
1846
|
-
define_settings(
|
2104
|
+
settings.define_settings(
|
1847
2105
|
:main,
|
1848
2106
|
:external_nodes => {
|
1849
2107
|
:default => "none",
|
@@ -1864,11 +2122,11 @@ EOT
|
|
1864
2122
|
|
1865
2123
|
Generally, an ENC script makes requests to an external data source.
|
1866
2124
|
|
1867
|
-
For more info, see [the ENC documentation](https://
|
2125
|
+
For more info, see [the ENC documentation](https://puppet.com/docs/puppet/latest/nodes_external.html).",
|
1868
2126
|
}
|
1869
2127
|
)
|
1870
2128
|
|
1871
|
-
define_settings(
|
2129
|
+
settings.define_settings(
|
1872
2130
|
:ldap,
|
1873
2131
|
:ldapssl => {
|
1874
2132
|
:default => false,
|
@@ -1886,11 +2144,11 @@ EOT
|
|
1886
2144
|
},
|
1887
2145
|
:ldapserver => {
|
1888
2146
|
:default => "ldap",
|
1889
|
-
:desc => "The LDAP server.
|
2147
|
+
:desc => "The LDAP server.",
|
1890
2148
|
},
|
1891
2149
|
:ldapport => {
|
1892
2150
|
:default => 389,
|
1893
|
-
:desc => "The LDAP port.
|
2151
|
+
:desc => "The LDAP port.",
|
1894
2152
|
},
|
1895
2153
|
|
1896
2154
|
:ldapstring => {
|
@@ -1937,7 +2195,7 @@ EOT
|
|
1937
2195
|
}
|
1938
2196
|
)
|
1939
2197
|
|
1940
|
-
define_settings(:
|
2198
|
+
settings.define_settings(:server,
|
1941
2199
|
:storeconfigs => {
|
1942
2200
|
:default => false,
|
1943
2201
|
:type => :boolean,
|
@@ -1951,13 +2209,11 @@ EOT
|
|
1951
2209
|
# Call our hook with the default value, so we always get the libdir set.
|
1952
2210
|
:call_hook => :on_initialize_and_write,
|
1953
2211
|
:hook => proc do |value|
|
1954
|
-
require 'puppet/node'
|
1955
|
-
require 'puppet/node/facts'
|
1956
2212
|
if value
|
1957
|
-
Puppet::Resource::Catalog.indirection.cache_class
|
1958
|
-
|
1959
|
-
Puppet::Node::Facts.indirection.cache_class
|
1960
|
-
Puppet::Resource.indirection.terminus_class
|
2213
|
+
Puppet::Resource::Catalog.indirection.set_global_setting(:cache_class, :store_configs)
|
2214
|
+
settings.override_default(:catalog_cache_terminus, :store_configs)
|
2215
|
+
Puppet::Node::Facts.indirection.set_global_setting(:cache_class, :store_configs)
|
2216
|
+
Puppet::Resource.indirection.set_global_setting(:terminus_class, :store_configs)
|
1961
2217
|
end
|
1962
2218
|
end
|
1963
2219
|
},
|
@@ -1970,7 +2226,7 @@ EOT
|
|
1970
2226
|
}
|
1971
2227
|
)
|
1972
2228
|
|
1973
|
-
define_settings(:parser,
|
2229
|
+
settings.define_settings(:parser,
|
1974
2230
|
:max_errors => {
|
1975
2231
|
:default => 10,
|
1976
2232
|
:desc => <<-'EOT'
|
@@ -2002,9 +2258,33 @@ EOT
|
|
2002
2258
|
Causes an evaluation error when referencing unknown variables. (This does not affect
|
2003
2259
|
referencing variables that are explicitly set to undef).
|
2004
2260
|
EOT
|
2261
|
+
},
|
2262
|
+
:func3x_check => {
|
2263
|
+
:default => true,
|
2264
|
+
:type => :boolean,
|
2265
|
+
:desc => <<-'EOT',
|
2266
|
+
Causes validation of loaded legacy Ruby functions (3x API) to raise errors about illegal constructs that
|
2267
|
+
could cause harm or that simply does not work. This flag is on by default. This flag is made available
|
2268
|
+
so that the validation can be turned off in case the method of validation is faulty - if encountered, please
|
2269
|
+
file a bug report.
|
2270
|
+
EOT
|
2271
|
+
:call_hook => :on_initialize_and_write,
|
2272
|
+
:hook => proc do |value|
|
2273
|
+
unless value
|
2274
|
+
Puppet.deprecation_warning(_("The 'func3x_check' setting is deprecated and will be removed in a future release."))
|
2275
|
+
end
|
2276
|
+
end
|
2277
|
+
},
|
2278
|
+
:tasks => {
|
2279
|
+
:default => false,
|
2280
|
+
:type => :boolean,
|
2281
|
+
:desc => <<-'EOT'
|
2282
|
+
Turns on experimental support for tasks and plans in the puppet language. This is for internal API use only.
|
2283
|
+
Do not change this setting.
|
2284
|
+
EOT
|
2005
2285
|
}
|
2006
2286
|
)
|
2007
|
-
define_settings(:puppetdoc,
|
2287
|
+
settings.define_settings(:puppetdoc,
|
2008
2288
|
:document_all => {
|
2009
2289
|
:default => false,
|
2010
2290
|
:type => :boolean,
|
@@ -2013,10 +2293,10 @@ EOT
|
|
2013
2293
|
}
|
2014
2294
|
)
|
2015
2295
|
|
2016
|
-
define_settings(
|
2296
|
+
settings.define_settings(
|
2017
2297
|
:main,
|
2018
2298
|
:rich_data => {
|
2019
|
-
:default =>
|
2299
|
+
:default => true,
|
2020
2300
|
:type => :boolean,
|
2021
2301
|
:hook => proc do |value|
|
2022
2302
|
envs = Puppet.lookup(:environments) { nil }
|
@@ -2024,11 +2304,11 @@ EOT
|
|
2024
2304
|
end,
|
2025
2305
|
:desc => <<-'EOT'
|
2026
2306
|
Enables having extended data in the catalog by storing them as a hash with the special key
|
2027
|
-
`
|
2307
|
+
`__ptype`. When enabled, resource containing values of the data types `Binary`, `Regexp`,
|
2028
2308
|
`SemVer`, `SemVerRange`, `Timespan` and `Timestamp`, as well as instances of types derived
|
2029
2309
|
from `Object` retain their data type.
|
2030
2310
|
EOT
|
2031
2311
|
}
|
2032
2312
|
)
|
2033
|
-
|
2313
|
+
end
|
2034
2314
|
end
|