puppet 6.25.1-universal-darwin → 7.0.0-universal-darwin
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 +4 -4
- data/CODEOWNERS +16 -2
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +3 -5
- data/Gemfile.lock +39 -51
- data/README.md +5 -5
- data/conf/fileserver.conf +5 -10
- data/ext/README.environment +8 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/dbfix.sql +132 -0
- data/ext/debian/README.Debian +8 -0
- data/ext/debian/README.source +2 -0
- data/ext/debian/TODO.Debian +1 -0
- data/ext/debian/changelog.erb +1122 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +144 -0
- data/ext/debian/copyright +339 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/fileserver.conf +41 -0
- data/ext/debian/puppet-common.dirs +13 -0
- data/ext/debian/puppet-common.install +3 -0
- data/ext/debian/puppet-common.lintian-overrides +5 -0
- data/ext/debian/puppet-common.manpages +28 -0
- data/ext/debian/puppet-common.postinst +35 -0
- data/ext/debian/puppet-common.postrm +33 -0
- data/ext/debian/puppet-el.dirs +1 -0
- data/ext/debian/puppet-el.emacsen-install +25 -0
- data/ext/debian/puppet-el.emacsen-remove +11 -0
- data/ext/debian/puppet-el.emacsen-startup +9 -0
- data/ext/debian/puppet-el.install +1 -0
- data/ext/debian/puppet-testsuite.install +2 -0
- data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
- data/ext/debian/puppet.lintian-overrides +3 -0
- data/ext/debian/puppet.logrotate +20 -0
- data/ext/debian/puppet.postinst +20 -0
- data/ext/debian/puppet.postrm +20 -0
- data/ext/debian/puppet.preinst +20 -0
- data/ext/debian/puppetmaster-common.install +2 -0
- data/ext/debian/puppetmaster-common.manpages +2 -0
- data/ext/debian/puppetmaster-common.postinst +6 -0
- data/ext/debian/puppetmaster-passenger.dirs +4 -0
- data/ext/debian/puppetmaster-passenger.postinst +162 -0
- data/ext/debian/puppetmaster-passenger.postrm +61 -0
- data/ext/debian/puppetmaster.README.debian +17 -0
- data/ext/debian/puppetmaster.default +14 -0
- data/ext/debian/puppetmaster.init +137 -0
- data/ext/debian/puppetmaster.lintian-overrides +3 -0
- data/ext/debian/puppetmaster.postinst +20 -0
- data/ext/debian/puppetmaster.postrm +5 -0
- data/ext/debian/puppetmaster.preinst +22 -0
- data/ext/debian/rules +132 -0
- data/ext/debian/source/format +1 -0
- data/ext/debian/source/options +1 -0
- data/ext/debian/vim-puppet.README.Debian +13 -0
- data/ext/debian/vim-puppet.dirs +5 -0
- data/ext/debian/vim-puppet.yaml +7 -0
- data/ext/debian/watch +2 -0
- data/ext/freebsd/puppetd +26 -0
- data/ext/freebsd/puppetmasterd +26 -0
- data/ext/gentoo/conf.d/puppet +5 -0
- data/ext/gentoo/conf.d/puppetmaster +12 -0
- data/ext/gentoo/init.d/puppet +38 -0
- data/ext/gentoo/init.d/puppetmaster +51 -0
- data/ext/gentoo/puppet/fileserver.conf +41 -0
- data/ext/ips/puppet-agent +44 -0
- data/ext/ips/puppet-master +44 -0
- data/ext/ips/puppet.p5m.erb +12 -0
- data/ext/ips/puppetagent.xml +42 -0
- data/ext/ips/puppetmaster.xml +42 -0
- data/ext/ips/rules +19 -0
- data/ext/ips/transforms +34 -0
- data/ext/ldap/puppet.schema +24 -0
- data/ext/logcheck/puppet +23 -0
- data/{examples → ext}/nagios/check_puppet.rb +2 -2
- data/ext/osx/file_mapping.yaml +28 -0
- data/ext/osx/postflight.erb +109 -0
- data/ext/osx/preflight.erb +52 -0
- data/ext/osx/prototype.plist.erb +38 -0
- data/ext/osx/puppet.plist +0 -2
- data/ext/project_data.yaml +1 -15
- data/ext/redhat/fileserver.conf +41 -0
- data/ext/redhat/logrotate +21 -0
- data/ext/redhat/puppet.spec.erb +841 -0
- data/ext/redhat/server.init +128 -0
- data/ext/redhat/server.sysconfig +13 -0
- data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
- data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
- data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
- data/ext/solaris/pkginfo +6 -0
- data/ext/solaris/smf/puppetd.xml +77 -0
- data/ext/solaris/smf/puppetmasterd.xml +77 -0
- data/ext/solaris/smf/svc-puppetd +71 -0
- data/ext/solaris/smf/svc-puppetmasterd +67 -0
- data/ext/suse/puppet.spec +310 -0
- data/ext/suse/server.init +173 -0
- data/ext/windows/service/daemon.rb +6 -5
- data/ext/yaml_nodes.rb +105 -0
- data/install.rb +21 -17
- data/lib/puppet/application/agent.rb +4 -16
- data/lib/puppet/application/apply.rb +4 -24
- data/lib/puppet/application/device.rb +100 -106
- data/lib/puppet/application/filebucket.rb +13 -10
- data/lib/puppet/application/resource.rb +16 -32
- data/lib/puppet/application/script.rb +0 -2
- data/lib/puppet/application/ssl.rb +1 -13
- data/lib/puppet/application.rb +178 -108
- data/lib/puppet/application_support.rb +0 -7
- data/lib/puppet/concurrent/thread_local_singleton.rb +0 -1
- data/lib/puppet/configurer/downloader.rb +1 -2
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/configurer.rb +86 -189
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +128 -232
- data/lib/puppet/environments.rb +82 -146
- data/lib/puppet/face/facts.rb +5 -103
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +0 -11
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/file_serving/configuration/parser.rb +3 -34
- data/lib/puppet/file_serving/configuration.rb +0 -8
- data/lib/puppet/file_serving/fileset.rb +2 -14
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount/file.rb +4 -4
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +1 -3
- data/lib/puppet/file_system/memory_file.rb +1 -8
- data/lib/puppet/file_system/windows.rb +2 -4
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/forge.rb +4 -4
- data/lib/puppet/functions/all.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +2 -2
- data/lib/puppet/functions/downcase.rb +2 -2
- data/lib/puppet/functions/empty.rb +0 -8
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/get.rb +5 -5
- data/lib/puppet/functions/group_by.rb +5 -13
- data/lib/puppet/functions/lest.rb +1 -1
- data/lib/puppet/functions/new.rb +100 -100
- data/lib/puppet/functions/partition.rb +4 -12
- data/lib/puppet/functions/require.rb +5 -5
- data/lib/puppet/functions/sort.rb +3 -3
- data/lib/puppet/functions/strftime.rb +0 -1
- data/lib/puppet/functions/tree_each.rb +9 -7
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/unwrap.rb +2 -17
- data/lib/puppet/functions/upcase.rb +2 -2
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/http/client.rb +165 -115
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -15
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -17
- data/lib/puppet/http/resolver/server_list.rb +10 -25
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -144
- data/lib/puppet/http/service/file_server.rb +19 -29
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/indirector/catalog/compiler.rb +6 -25
- data/lib/puppet/indirector/catalog/rest.rb +2 -5
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/resource/ral.rb +1 -6
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/terminus.rb +0 -4
- data/lib/puppet/interface/documentation.rb +0 -1
- data/lib/puppet/module/plan.rb +1 -0
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +2 -56
- data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/errors/shared.rb +2 -34
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +0 -67
- data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node/environment.rb +11 -10
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +4 -2
- data/lib/puppet/parser/ast/leaf.rb +2 -3
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
- data/lib/puppet/parser/resource.rb +1 -70
- data/lib/puppet/parser/scope.rb +0 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -2
- data/lib/puppet/pops/evaluator/closure.rb +5 -7
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -291
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +1 -47
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1691 -1883
- data/lib/puppet/pops/parser/lexer2.rb +91 -92
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/parser/slurp_support.rb +0 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/serialization/to_data_converter.rb +6 -18
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
- data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_formatter.rb +3 -4
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +1 -2
- data/lib/puppet/pops/validation/checker4_0.rb +9 -37
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/provider/aix_object.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +4 -16
- data/lib/puppet/provider/group/groupadd.rb +10 -18
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +2 -34
- data/lib/puppet/provider/package/aptitude.rb +0 -6
- data/lib/puppet/provider/package/dnfmodule.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/nim.rb +6 -11
- data/lib/puppet/provider/package/pip.rb +3 -16
- data/lib/puppet/provider/package/pkg.rb +2 -23
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +0 -3
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/debian.rb +0 -2
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +194 -76
- data/lib/puppet/provider/service/systemd.rb +6 -16
- data/lib/puppet/provider/service/upstart.rb +5 -5
- data/lib/puppet/provider/service/windows.rb +0 -38
- data/lib/puppet/provider/user/aix.rb +3 -46
- data/lib/puppet/provider/user/directoryservice.rb +11 -34
- data/lib/puppet/provider/user/useradd.rb +24 -134
- data/lib/puppet/provider.rb +1 -14
- data/lib/puppet/reference/configuration.rb +8 -7
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/providers.rb +2 -2
- data/lib/puppet/resource/catalog.rb +2 -15
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -49
- data/lib/puppet/resource.rb +6 -127
- data/lib/puppet/runtime.rb +2 -13
- data/lib/puppet/settings/environment_conf.rb +0 -1
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/settings.rb +82 -98
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/test/test_helper.rb +2 -7
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +1 -11
- data/lib/puppet/transaction/report.rb +3 -19
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/type/exec.rb +5 -35
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/mode.rb +0 -6
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/file.rb +12 -32
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/group.rb +1 -0
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/service.rb +41 -26
- data/lib/puppet/type/tidy.rb +3 -22
- data/lib/puppet/type/user.rb +21 -38
- data/lib/puppet/type.rb +1 -77
- data/lib/puppet/util/autoload.rb +8 -1
- data/lib/puppet/util/command_line.rb +1 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/json.rb +0 -3
- data/lib/puppet/util/log.rb +2 -1
- data/lib/puppet/util/logging.rb +25 -1
- data/lib/puppet/util/monkey_patches.rb +0 -53
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/posix.rb +5 -54
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/selinux.rb +4 -30
- data/lib/puppet/util/suidmanager.rb +2 -1
- data/lib/puppet/util/symbolic_file_mode.rb +17 -29
- data/lib/puppet/util/tagging.rb +0 -1
- data/lib/puppet/util/windows/adsi.rb +0 -46
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/principal.rb +2 -9
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +11 -457
- data/lib/puppet/util/windows/sid.rb +2 -6
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +2 -0
- data/lib/puppet/util/windows.rb +3 -11
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/util.rb +3 -4
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet.rb +20 -25
- data/locales/puppet.pot +816 -1637
- data/man/man5/puppet.conf.5 +286 -382
- data/man/man8/puppet-agent.8 +2 -5
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-catalog.8 +9 -9
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +8 -51
- data/man/man8/puppet-filebucket.8 +4 -4
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +3 -60
- data/man/man8/puppet-node.8 +5 -5
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +5 -5
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- data/man/man8/puppet-ssl.8 +1 -5
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
- data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/ca.pem +35 -57
- data/spec/fixtures/ssl/crl.pem +18 -28
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +24 -33
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +58 -108
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
- data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
- data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
- data/spec/fixtures/ssl/intermediate.pem +36 -57
- data/spec/fixtures/ssl/pluto-key.pem +57 -107
- data/spec/fixtures/ssl/pluto.pem +30 -52
- data/spec/fixtures/ssl/request-key.pem +57 -107
- data/spec/fixtures/ssl/request.pem +26 -47
- data/spec/fixtures/ssl/revoked-key.pem +57 -107
- data/spec/fixtures/ssl/revoked.pem +30 -52
- data/spec/fixtures/ssl/signed-key.pem +57 -107
- data/spec/fixtures/ssl/signed.pem +30 -52
- data/spec/fixtures/ssl/tampered-cert.pem +30 -52
- data/spec/fixtures/ssl/tampered-csr.pem +26 -47
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
- data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-ca.pem +33 -55
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
- data/spec/integration/application/agent_spec.rb +51 -299
- data/spec/integration/application/apply_spec.rb +1 -20
- data/spec/integration/application/filebucket_spec.rb +16 -32
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/module_spec.rb +0 -21
- data/spec/integration/application/plugin_spec.rb +24 -2
- data/spec/integration/configurer_spec.rb +2 -18
- data/spec/integration/defaults_spec.rb +14 -3
- data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
- data/spec/integration/http/client_spec.rb +0 -12
- data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
- data/spec/integration/indirector/facts/facter_spec.rb +39 -93
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -47
- data/spec/integration/resource/type_collection_spec.rb +6 -2
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +9 -4
- data/spec/integration/type/exec_spec.rb +45 -70
- data/spec/integration/type/file_spec.rb +7 -6
- data/spec/integration/type/package_spec.rb +6 -6
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/windows/adsi_spec.rb +1 -21
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/principal_spec.rb +0 -21
- data/spec/integration/util/windows/process_spec.rb +9 -1
- data/spec/integration/util/windows/registry_spec.rb +10 -6
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/matchers/include.rb +27 -0
- data/spec/lib/matchers/include_spec.rb +32 -0
- data/spec/lib/puppet/test_ca.rb +2 -7
- data/spec/lib/puppet_spec/modules.rb +2 -13
- data/spec/lib/puppet_spec/puppetserver.rb +1 -16
- data/spec/lib/puppet_spec/settings.rb +1 -1
- data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
- data/spec/spec_helper.rb +17 -13
- data/spec/unit/agent_spec.rb +6 -10
- data/spec/unit/application/agent_spec.rb +3 -7
- data/spec/unit/application/apply_spec.rb +56 -76
- data/spec/unit/application/facts_spec.rb +12 -456
- data/spec/unit/application/filebucket_spec.rb +43 -39
- data/spec/unit/application/resource_spec.rb +0 -29
- data/spec/unit/application/ssl_spec.rb +2 -25
- data/spec/unit/application_spec.rb +9 -51
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -8
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +68 -264
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +2 -8
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +68 -55
- data/spec/unit/environments_spec.rb +68 -408
- data/spec/unit/face/node_spec.rb +11 -0
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
- data/spec/unit/file_serving/configuration_spec.rb +10 -26
- data/spec/unit/file_serving/fileset_spec.rb +0 -60
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
- data/spec/unit/file_system_spec.rb +0 -22
- data/spec/unit/forge/module_release_spec.rb +7 -2
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +0 -10
- data/spec/unit/functions/logging_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +0 -64
- data/spec/unit/functions/unwrap_spec.rb +0 -8
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/functions4_spec.rb +2 -2
- data/spec/unit/gettext/config_spec.rb +0 -12
- data/spec/unit/http/client_spec.rb +8 -66
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +13 -13
- data/spec/unit/http/service/compiler_spec.rb +0 -193
- data/spec/unit/http/service/file_server_spec.rb +3 -3
- data/spec/unit/http/service/puppetserver_spec.rb +34 -4
- data/spec/unit/http/service_spec.rb +0 -1
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
- data/spec/unit/indirector/face_spec.rb +1 -0
- data/spec/unit/indirector/facts/facter_spec.rb +3 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/indirection_spec.rb +15 -18
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/resource/ral_spec.rb +75 -40
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/store_configs_spec.rb +7 -0
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/interface/action_spec.rb +9 -0
- data/spec/unit/module_spec.rb +1 -15
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
- data/spec/unit/network/authconfig_spec.rb +2 -129
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +4 -51
- data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +33 -21
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/compiler_spec.rb +19 -3
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
- data/spec/unit/parser/resource_spec.rb +8 -14
- data/spec/unit/parser/templatewrapper_spec.rb +5 -16
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_containers_spec.rb +11 -0
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -59
- data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property_spec.rb +0 -1
- data/spec/unit/provider/group/groupadd_spec.rb +2 -5
- data/spec/unit/provider/nameservice_spec.rb +64 -122
- data/spec/unit/provider/package/apt_spec.rb +23 -28
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/base_spec.rb +5 -6
- data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +33 -1
- data/spec/unit/provider/package/nim_spec.rb +0 -42
- data/spec/unit/provider/package/pacman_spec.rb +12 -18
- data/spec/unit/provider/package/pip2_spec.rb +1 -1
- data/spec/unit/provider/package/pip3_spec.rb +1 -1
- data/spec/unit/provider/package/pip_spec.rb +12 -44
- data/spec/unit/provider/package/pkg_spec.rb +4 -29
- data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
- data/spec/unit/provider/parsedfile_spec.rb +0 -10
- data/spec/unit/provider/service/init_spec.rb +0 -1
- data/spec/unit/provider/service/launchd_spec.rb +0 -11
- data/spec/unit/provider/service/openwrt_spec.rb +1 -3
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/systemd_spec.rb +9 -54
- data/spec/unit/provider/service/windows_spec.rb +0 -203
- data/spec/unit/provider/user/aix_spec.rb +0 -105
- data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/pw_spec.rb +0 -2
- data/spec/unit/provider/user/useradd_spec.rb +5 -114
- data/spec/unit/provider_spec.rb +12 -22
- data/spec/unit/puppet_spec.rb +4 -12
- data/spec/unit/resource/catalog_spec.rb +2 -15
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +12 -125
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +79 -110
- data/spec/unit/ssl/base_spec.rb +37 -3
- data/spec/unit/ssl/certificate_request_spec.rb +21 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
- data/spec/unit/ssl/state_machine_spec.rb +5 -20
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
- data/spec/unit/transaction/event_manager_spec.rb +11 -14
- data/spec/unit/transaction/report_spec.rb +0 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +55 -96
- data/spec/unit/type/exec_spec.rb +29 -76
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +2 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/selinux_spec.rb +5 -3
- data/spec/unit/type/file/source_spec.rb +4 -5
- data/spec/unit/type/file_spec.rb +18 -6
- data/spec/unit/type/group_spec.rb +6 -13
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/resources_spec.rb +7 -7
- data/spec/unit/type/service_spec.rb +189 -87
- data/spec/unit/type/tidy_spec.rb +8 -24
- data/spec/unit/type/user_spec.rb +0 -45
- data/spec/unit/type_spec.rb +24 -4
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +1 -5
- data/spec/unit/util/backups_spec.rb +2 -3
- data/spec/unit/util/execution_spec.rb +11 -44
- data/spec/unit/util/inifile_spec.rb +14 -6
- data/spec/unit/util/log_spec.rb +7 -8
- data/spec/unit/util/logging_spec.rb +3 -5
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +15 -363
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/selinux_spec.rb +68 -163
- data/spec/unit/util/storage_spec.rb +1 -3
- data/spec/unit/util/suidmanager_spec.rb +41 -44
- data/spec/unit/util/windows/sid_spec.rb +0 -41
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +6 -31
- data/tasks/generate_cert_fixtures.rake +3 -12
- data/tasks/parallel.rake +3 -3
- metadata +137 -226
- data/conf/auth.conf +0 -150
- data/ext/README.md +0 -13
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/facter_impl.rb +0 -96
- data/lib/puppet/ffi/posix/constants.rb +0 -14
- data/lib/puppet/ffi/posix/functions.rb +0 -24
- data/lib/puppet/ffi/posix.rb +0 -10
- data/lib/puppet/file_serving/mount/scripts.rb +0 -24
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/settings/alias_setting.rb +0 -37
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/fact_dif.rb +0 -81
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -309
- data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
- data/spec/fixtures/ssl/oid-key.pem +0 -117
- data/spec/fixtures/ssl/oid.pem +0 -69
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
- data/spec/integration/application/resource_spec.rb +0 -64
- data/spec/integration/application/ssl_spec.rb +0 -20
- data/spec/integration/l10n/compiler_spec.rb +0 -37
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/shared_contexts/l10n.rb +0 -27
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/facter_impl_spec.rb +0 -31
- data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -78
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -407
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -148
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -645
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- data/spec/unit/util/ssl_spec.rb +0 -91
@@ -1,5 +1,5 @@
|
|
1
|
-
# A pool for persistent
|
2
|
-
# stored in the pool indexed by their {
|
1
|
+
# A pool for persistent `Net::HTTP` connections. Connections are
|
2
|
+
# stored in the pool indexed by their {Site}.
|
3
3
|
# Connections are borrowed from the pool, yielded to the caller, and
|
4
4
|
# released back into the pool. If a connection is expired, it will be
|
5
5
|
# closed either when a connection to that site is requested, or when
|
@@ -7,13 +7,12 @@
|
|
7
7
|
# same site, and will be reused in MRU order.
|
8
8
|
#
|
9
9
|
# @api private
|
10
|
-
|
11
|
-
class Puppet::Network::HTTP::Pool < Puppet::Network::HTTP::BasePool
|
10
|
+
class Puppet::HTTP::Pool
|
12
11
|
attr_reader :factory, :keepalive_timeout
|
13
12
|
|
14
13
|
def initialize(keepalive_timeout)
|
15
14
|
@pool = {}
|
16
|
-
@factory = Puppet::
|
15
|
+
@factory = Puppet::HTTP::Factory.new
|
17
16
|
@keepalive_timeout = keepalive_timeout
|
18
17
|
end
|
19
18
|
|
@@ -40,9 +39,9 @@ class Puppet::Network::HTTP::Pool < Puppet::Network::HTTP::BasePool
|
|
40
39
|
end
|
41
40
|
|
42
41
|
def close
|
43
|
-
@pool.each_pair do |site,
|
44
|
-
|
45
|
-
close_connection(site,
|
42
|
+
@pool.each_pair do |site, entries|
|
43
|
+
entries.each do |entry|
|
44
|
+
close_connection(site, entry.connection)
|
46
45
|
end
|
47
46
|
end
|
48
47
|
@pool.clear
|
@@ -53,6 +52,25 @@ class Puppet::Network::HTTP::Pool < Puppet::Network::HTTP::BasePool
|
|
53
52
|
@pool
|
54
53
|
end
|
55
54
|
|
55
|
+
# Start a persistent connection
|
56
|
+
#
|
57
|
+
# @api private
|
58
|
+
def start(site, verifier, http)
|
59
|
+
Puppet.debug("Starting connection for #{site}")
|
60
|
+
if site.use_ssl?
|
61
|
+
verifier.setup_connection(http)
|
62
|
+
begin
|
63
|
+
http.start
|
64
|
+
print_ssl_info(http) if Puppet::Util::Log.sendlevel?(:debug)
|
65
|
+
rescue OpenSSL::SSL::SSLError => error
|
66
|
+
verifier.handle_connection_error(http, error)
|
67
|
+
end
|
68
|
+
else
|
69
|
+
http.start
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
|
56
74
|
# Safely close a persistent connection.
|
57
75
|
# Don't try to close a connection that's already closed.
|
58
76
|
#
|
@@ -72,17 +90,17 @@ class Puppet::Network::HTTP::Pool < Puppet::Network::HTTP::BasePool
|
|
72
90
|
#
|
73
91
|
# @api private
|
74
92
|
def borrow(site, verifier)
|
75
|
-
@pool[site] =
|
76
|
-
index = @pool[site].index do |
|
77
|
-
(verifier.nil? &&
|
78
|
-
(!verifier.nil? && verifier.reusable?(
|
93
|
+
@pool[site] = active_entries(site)
|
94
|
+
index = @pool[site].index do |entry|
|
95
|
+
(verifier.nil? && entry.verifier.nil?) ||
|
96
|
+
(!verifier.nil? && verifier.reusable?(entry.verifier))
|
79
97
|
end
|
80
|
-
|
81
|
-
if
|
98
|
+
entry = index ? @pool[site].delete_at(index) : nil
|
99
|
+
if entry
|
82
100
|
@pool.delete(site) if @pool[site].empty?
|
83
101
|
|
84
102
|
Puppet.debug("Using cached connection for #{site}")
|
85
|
-
|
103
|
+
entry.connection
|
86
104
|
else
|
87
105
|
http = @factory.create_connection(site)
|
88
106
|
|
@@ -107,31 +125,48 @@ class Puppet::Network::HTTP::Pool < Puppet::Network::HTTP::BasePool
|
|
107
125
|
# @api private
|
108
126
|
def release(site, verifier, http)
|
109
127
|
expiration = Time.now + @keepalive_timeout
|
110
|
-
|
128
|
+
entry = Puppet::HTTP::PoolEntry.new(http, verifier, expiration)
|
111
129
|
Puppet.debug("Caching connection for #{site}")
|
112
130
|
|
113
|
-
|
114
|
-
if
|
115
|
-
|
131
|
+
entries = @pool[site]
|
132
|
+
if entries
|
133
|
+
entries.unshift(entry)
|
116
134
|
else
|
117
|
-
@pool[site] = [
|
135
|
+
@pool[site] = [entry]
|
118
136
|
end
|
119
137
|
end
|
120
138
|
|
121
|
-
# Returns an Array of
|
139
|
+
# Returns an Array of entries whose connections are not expired.
|
122
140
|
#
|
123
141
|
# @api private
|
124
|
-
def
|
142
|
+
def active_entries(site)
|
125
143
|
now = Time.now
|
126
144
|
|
127
|
-
|
128
|
-
|
129
|
-
if
|
130
|
-
close_connection(site,
|
145
|
+
entries = @pool[site] || []
|
146
|
+
entries.select do |entry|
|
147
|
+
if entry.expired?(now)
|
148
|
+
close_connection(site, entry.connection)
|
131
149
|
false
|
132
150
|
else
|
133
151
|
true
|
134
152
|
end
|
135
153
|
end
|
136
154
|
end
|
155
|
+
|
156
|
+
private
|
157
|
+
|
158
|
+
def print_ssl_info(http)
|
159
|
+
buffered_io = http.instance_variable_get(:@socket)
|
160
|
+
return unless buffered_io
|
161
|
+
|
162
|
+
socket = buffered_io.io
|
163
|
+
return unless socket
|
164
|
+
|
165
|
+
cipher = if Puppet::Util::Platform.jruby?
|
166
|
+
socket.cipher
|
167
|
+
else
|
168
|
+
socket.cipher.first
|
169
|
+
end
|
170
|
+
Puppet.debug("Using #{socket.ssl_version} with cipher #{cipher}")
|
171
|
+
end
|
137
172
|
end
|
@@ -1,9 +1,8 @@
|
|
1
|
-
# An HTTP
|
1
|
+
# An entry in the peristent HTTP pool that references the connection and
|
2
2
|
# an expiration time for the connection.
|
3
3
|
#
|
4
4
|
# @api private
|
5
|
-
|
6
|
-
class Puppet::Network::HTTP::Session
|
5
|
+
class Puppet::HTTP::PoolEntry
|
7
6
|
attr_reader :connection, :verifier
|
8
7
|
|
9
8
|
def initialize(connection, verifier, expiration_time)
|
@@ -0,0 +1,137 @@
|
|
1
|
+
require 'uri'
|
2
|
+
require 'puppet/ssl/openssl_loader'
|
3
|
+
|
4
|
+
module Puppet::HTTP::Proxy
|
5
|
+
def self.proxy(uri)
|
6
|
+
if http_proxy_host && !no_proxy?(uri)
|
7
|
+
Net::HTTP.new(uri.host, uri.port, self.http_proxy_host, self.http_proxy_port, self.http_proxy_user, self.http_proxy_password)
|
8
|
+
else
|
9
|
+
http = Net::HTTP.new(uri.host, uri.port, nil, nil, nil, nil)
|
10
|
+
# Net::HTTP defaults the proxy port even though we said not to
|
11
|
+
# use one. Set it to nil so caller is not surprised
|
12
|
+
http.proxy_port = nil
|
13
|
+
http
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.http_proxy_env
|
18
|
+
# Returns a URI object if proxy is set, or nil
|
19
|
+
proxy_env = ENV["http_proxy"] || ENV["HTTP_PROXY"]
|
20
|
+
begin
|
21
|
+
return URI.parse(proxy_env) if proxy_env
|
22
|
+
rescue URI::InvalidURIError
|
23
|
+
return nil
|
24
|
+
end
|
25
|
+
return nil
|
26
|
+
end
|
27
|
+
|
28
|
+
# The documentation around the format of the no_proxy variable seems
|
29
|
+
# inconsistent. Some suggests the use of the * as a way of matching any
|
30
|
+
# hosts under a domain, e.g.:
|
31
|
+
# *.example.com
|
32
|
+
# Other documentation suggests that just a leading '.' indicates a domain
|
33
|
+
# level exclusion, e.g.:
|
34
|
+
# .example.com
|
35
|
+
# We'll accommodate both here.
|
36
|
+
def self.no_proxy?(dest)
|
37
|
+
no_proxy = self.no_proxy
|
38
|
+
unless no_proxy
|
39
|
+
return false
|
40
|
+
end
|
41
|
+
|
42
|
+
unless dest.is_a? URI
|
43
|
+
begin
|
44
|
+
dest = URI.parse(dest)
|
45
|
+
rescue URI::InvalidURIError
|
46
|
+
return false
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
no_proxy.split(/\s*,\s*/).each do |d|
|
51
|
+
host, port = d.split(':')
|
52
|
+
host = Regexp.escape(host).gsub('\*', '.*')
|
53
|
+
|
54
|
+
#If this no_proxy entry specifies a port, we want to match it against
|
55
|
+
#the destination port. Otherwise just match hosts.
|
56
|
+
if port
|
57
|
+
no_proxy_regex = %r(#{host}:#{port}$)
|
58
|
+
dest_string = "#{dest.host}:#{dest.port}"
|
59
|
+
else
|
60
|
+
no_proxy_regex = %r(#{host}$)
|
61
|
+
dest_string = "#{dest.host}"
|
62
|
+
end
|
63
|
+
|
64
|
+
if no_proxy_regex.match(dest_string)
|
65
|
+
return true
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
return false
|
70
|
+
end
|
71
|
+
|
72
|
+
def self.http_proxy_host
|
73
|
+
env = self.http_proxy_env
|
74
|
+
|
75
|
+
if env and env.host
|
76
|
+
return env.host
|
77
|
+
end
|
78
|
+
|
79
|
+
if Puppet.settings[:http_proxy_host] == 'none'
|
80
|
+
return nil
|
81
|
+
end
|
82
|
+
|
83
|
+
return Puppet.settings[:http_proxy_host]
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.http_proxy_port
|
87
|
+
env = self.http_proxy_env
|
88
|
+
|
89
|
+
if env and env.port
|
90
|
+
return env.port
|
91
|
+
end
|
92
|
+
|
93
|
+
return Puppet.settings[:http_proxy_port]
|
94
|
+
end
|
95
|
+
|
96
|
+
def self.http_proxy_user
|
97
|
+
env = self.http_proxy_env
|
98
|
+
|
99
|
+
if env and env.user
|
100
|
+
return env.user
|
101
|
+
end
|
102
|
+
|
103
|
+
if Puppet.settings[:http_proxy_user] == 'none'
|
104
|
+
return nil
|
105
|
+
end
|
106
|
+
|
107
|
+
return Puppet.settings[:http_proxy_user]
|
108
|
+
end
|
109
|
+
|
110
|
+
def self.http_proxy_password
|
111
|
+
env = self.http_proxy_env
|
112
|
+
|
113
|
+
if env and env.password
|
114
|
+
return env.password
|
115
|
+
end
|
116
|
+
|
117
|
+
if Puppet.settings[:http_proxy_user] == 'none' or Puppet.settings[:http_proxy_password] == 'none'
|
118
|
+
return nil
|
119
|
+
end
|
120
|
+
|
121
|
+
return Puppet.settings[:http_proxy_password]
|
122
|
+
end
|
123
|
+
|
124
|
+
def self.no_proxy
|
125
|
+
no_proxy_env = ENV["no_proxy"] || ENV["NO_PROXY"]
|
126
|
+
|
127
|
+
if no_proxy_env
|
128
|
+
return no_proxy_env
|
129
|
+
end
|
130
|
+
|
131
|
+
if Puppet.settings[:no_proxy] == 'none'
|
132
|
+
return nil
|
133
|
+
end
|
134
|
+
|
135
|
+
return Puppet.settings[:no_proxy]
|
136
|
+
end
|
137
|
+
end
|
@@ -1,23 +1,16 @@
|
|
1
|
-
#
|
2
|
-
# @api private
|
3
|
-
#
|
4
1
|
# Handle HTTP redirects
|
5
2
|
#
|
3
|
+
# @api private
|
6
4
|
class Puppet::HTTP::Redirector
|
7
|
-
#
|
8
|
-
# @api private
|
9
|
-
#
|
10
5
|
# Create a new redirect handler
|
11
6
|
#
|
12
7
|
# @param [Integer] redirect_limit maximum number of redirects allowed
|
13
8
|
#
|
9
|
+
# @api private
|
14
10
|
def initialize(redirect_limit)
|
15
11
|
@redirect_limit = redirect_limit
|
16
12
|
end
|
17
13
|
|
18
|
-
#
|
19
|
-
# @api private
|
20
|
-
#
|
21
14
|
# Determine of the HTTP response code indicates a redirect
|
22
15
|
#
|
23
16
|
# @param [Net::HTTP] request request that received the response
|
@@ -25,6 +18,7 @@ class Puppet::HTTP::Redirector
|
|
25
18
|
#
|
26
19
|
# @return [Boolean] true if the response code is 301, 302, or 307.
|
27
20
|
#
|
21
|
+
# @api private
|
28
22
|
def redirect?(request, response)
|
29
23
|
# Net::HTTPRedirection is not used because historically puppet
|
30
24
|
# has only handled these, and we're not a browser
|
@@ -36,9 +30,6 @@ class Puppet::HTTP::Redirector
|
|
36
30
|
end
|
37
31
|
end
|
38
32
|
|
39
|
-
#
|
40
|
-
# @api private
|
41
|
-
#
|
42
33
|
# Implement the HTTP request redirection
|
43
34
|
#
|
44
35
|
# @param [Net::HTTP] request request that has been redirected
|
@@ -48,6 +39,7 @@ class Puppet::HTTP::Redirector
|
|
48
39
|
# @return [Net::HTTP] A new request based on the original request, but with
|
49
40
|
# the redirected location
|
50
41
|
#
|
42
|
+
# @api private
|
51
43
|
def redirect_to(request, response, redirects)
|
52
44
|
raise Puppet::HTTP::TooManyRedirects.new(request.uri) if redirects >= @redirect_limit
|
53
45
|
|
@@ -57,11 +49,6 @@ class Puppet::HTTP::Redirector
|
|
57
49
|
new_request = request.class.new(url)
|
58
50
|
new_request.body = request.body
|
59
51
|
request.each do |header, value|
|
60
|
-
unless Puppet[:location_trusted]
|
61
|
-
# skip adding potentially sensitive header to other hosts
|
62
|
-
next if header.casecmp('Authorization').zero? && request.uri.host.casecmp(location.host) != 0
|
63
|
-
next if header.casecmp('Cookie').zero? && request.uri.host.casecmp(location.host) != 0
|
64
|
-
end
|
65
52
|
new_request[header] = value
|
66
53
|
end
|
67
54
|
|
@@ -1,12 +1,10 @@
|
|
1
|
-
#
|
2
|
-
# @api private
|
3
|
-
#
|
4
1
|
# Use the server_list setting to resolve a service. This resolver is only used
|
5
2
|
# if server_list is set either on the command line or in the configuration file.
|
6
3
|
#
|
4
|
+
# @api public
|
7
5
|
class Puppet::HTTP::Resolver::ServerList < Puppet::HTTP::Resolver
|
8
|
-
|
9
|
-
#
|
6
|
+
|
7
|
+
# Create a server list resolver.
|
10
8
|
#
|
11
9
|
# @param [Puppet::HTTP::Client] client
|
12
10
|
# @param [Array<String>] server_list_setting array of servers set via the
|
@@ -24,15 +22,12 @@ class Puppet::HTTP::Resolver::ServerList < Puppet::HTTP::Resolver
|
|
24
22
|
@services = services
|
25
23
|
end
|
26
24
|
|
27
|
-
#
|
28
|
-
# @api private
|
29
|
-
#
|
30
25
|
# Walk the server_list to find a server and port that will connect successfully.
|
31
26
|
#
|
32
|
-
# @param [Puppet::HTTP::Session] session
|
27
|
+
# @param [Puppet::HTTP::Session] session
|
33
28
|
# @param [Symbol] name the name of the service being resolved
|
34
29
|
# @param [Puppet::SSL::SSLContext] ssl_context
|
35
|
-
# @param [Proc] canceled_handler
|
30
|
+
# @param [Proc] canceled_handler optional callback allowing a resolver
|
36
31
|
# to cancel resolution.
|
37
32
|
#
|
38
33
|
# @return [nil] return nil if the service to be resolved does not support
|
@@ -43,6 +38,7 @@ class Puppet::HTTP::Resolver::ServerList < Puppet::HTTP::Resolver
|
|
43
38
|
# @raise [Puppet::Error] raise if none of the servers defined in server_list
|
44
39
|
# are available
|
45
40
|
#
|
41
|
+
# @api public
|
46
42
|
def resolve(session, name, ssl_context: nil, canceled_handler: nil)
|
47
43
|
# If we're configured to use an explicit service host, e.g. report_server
|
48
44
|
# then don't use server_list to resolve the `:report` service.
|
@@ -54,7 +50,7 @@ class Puppet::HTTP::Resolver::ServerList < Puppet::HTTP::Resolver
|
|
54
50
|
end
|
55
51
|
|
56
52
|
# Return the first simple service status endpoint we can connect to
|
57
|
-
@server_list_setting.value.
|
53
|
+
@server_list_setting.value.each do |server|
|
58
54
|
host = server[0]
|
59
55
|
port = server[1] || @default_port
|
60
56
|
|
@@ -64,21 +60,10 @@ class Puppet::HTTP::Resolver::ServerList < Puppet::HTTP::Resolver
|
|
64
60
|
@resolved_url = service.url
|
65
61
|
return Puppet::HTTP::Service.create_service(@client, session, name, @resolved_url.host, @resolved_url.port)
|
66
62
|
rescue Puppet::HTTP::ResponseError => detail
|
67
|
-
|
68
|
-
|
69
|
-
{ host: service.url.host, port: service.url.port, code: detail.response.code, reason: detail.response.reason } +
|
70
|
-
' ' + _("Trying with next server from server_list."))
|
71
|
-
else
|
72
|
-
Puppet.log_exception(detail, _("Puppet server %{host}:%{port} is unavailable: %{code} %{reason}") %
|
73
|
-
{ host: service.url.host, port: service.url.port, code: detail.response.code, reason: detail.response.reason })
|
74
|
-
end
|
63
|
+
Puppet.log_exception(detail, _("Puppet server %{host}:%{port} is unavailable: %{code} %{reason}") %
|
64
|
+
{ host: service.url.host, port: service.url.port, code: detail.response.code, reason: detail.response.reason })
|
75
65
|
rescue Puppet::HTTP::HTTPError => detail
|
76
|
-
|
77
|
-
Puppet.warning(_("Unable to connect to server from server_list setting: %{detail}") % {detail: detail} +
|
78
|
-
' ' + _("Trying with next server from server_list."))
|
79
|
-
else
|
80
|
-
Puppet.log_exception(detail, _("Unable to connect to server from server_list setting: %{detail}") % {detail: detail})
|
81
|
-
end
|
66
|
+
Puppet.log_exception(detail, _("Unable to connect to server from server_list setting: %{detail}") % {detail: detail})
|
82
67
|
end
|
83
68
|
end
|
84
69
|
|
@@ -1,24 +1,21 @@
|
|
1
|
-
#
|
2
|
-
# @api private
|
3
|
-
#
|
4
1
|
# Resolve a service using settings. This is the default resolver if none of the
|
5
2
|
# other resolvers find a functional connection.
|
6
3
|
#
|
4
|
+
# @api public
|
7
5
|
class Puppet::HTTP::Resolver::Settings < Puppet::HTTP::Resolver
|
8
|
-
|
9
|
-
# @api private
|
10
|
-
#
|
6
|
+
|
11
7
|
# Resolve a service using the default server and port settings for this service.
|
12
8
|
#
|
13
9
|
# @param [Puppet::HTTP::Session] session
|
14
10
|
# @param [Symbol] name the name of the service to be resolved
|
15
11
|
# @param [Puppet::SSL::SSLContext] ssl_context
|
16
|
-
# @param [Proc] canceled_handler
|
12
|
+
# @param [Proc] canceled_handler optional callback allowing a resolver
|
17
13
|
# to cancel resolution.
|
18
14
|
#
|
19
15
|
# @return [Puppet::HTTP::Service] if the service successfully connects,
|
20
16
|
# return it. Otherwise, return nil.
|
21
17
|
#
|
18
|
+
# @api public
|
22
19
|
def resolve(session, name, ssl_context: nil, canceled_handler: nil)
|
23
20
|
service = Puppet::HTTP::Service.create_service(@client, session, name)
|
24
21
|
check_connection?(session, service, ssl_context: ssl_context) ? service : nil
|
@@ -1,11 +1,9 @@
|
|
1
|
+
# Resolve a service using DNS SRV records.
|
1
2
|
#
|
2
|
-
# @api
|
3
|
-
#
|
4
|
-
# Resolve a service using SRV
|
5
|
-
#
|
3
|
+
# @api public
|
6
4
|
class Puppet::HTTP::Resolver::SRV < Puppet::HTTP::Resolver
|
7
|
-
|
8
|
-
#
|
5
|
+
|
6
|
+
# Create an DNS SRV resolver.
|
9
7
|
#
|
10
8
|
# @param [Puppet::HTTP::Client] client
|
11
9
|
# @param [String] domain srv domain
|
@@ -14,23 +12,21 @@ class Puppet::HTTP::Resolver::SRV < Puppet::HTTP::Resolver
|
|
14
12
|
def initialize(client, domain:, dns: Resolv::DNS.new)
|
15
13
|
@client = client
|
16
14
|
@srv_domain = domain
|
17
|
-
@delegate = Puppet::
|
15
|
+
@delegate = Puppet::HTTP::DNS.new(dns)
|
18
16
|
end
|
19
17
|
|
20
|
-
#
|
21
|
-
# @api private
|
22
|
-
#
|
23
18
|
# Walk the available srv records and return the first that successfully connects
|
24
19
|
#
|
25
20
|
# @param [Puppet::HTTP::Session] session
|
26
21
|
# @param [Symbol] name the service being resolved
|
27
22
|
# @param [Puppet::SSL::SSLContext] ssl_context
|
28
|
-
# @param [Proc] canceled_handler
|
23
|
+
# @param [Proc] canceled_handler optional callback allowing a resolver
|
29
24
|
# to cancel resolution.
|
30
25
|
#
|
31
26
|
# @return [Puppet::HTTP::Service] if an available service is found, return
|
32
27
|
# it. Return nil otherwise.
|
33
28
|
#
|
29
|
+
# @api public
|
34
30
|
def resolve(session, name, ssl_context: nil, canceled_handler: nil)
|
35
31
|
# Here we pass our HTTP service name as the DNS SRV service name
|
36
32
|
# This is fine for :ca, but note that :puppet and :file are handled
|
data/lib/puppet/http/resolver.rb
CHANGED
@@ -1,26 +1,17 @@
|
|
1
|
-
#
|
2
|
-
# @api private
|
3
|
-
#
|
4
1
|
# Resolver base class. Each resolver represents a different strategy for
|
5
2
|
# resolving a service name into a list of candidate servers and ports.
|
6
3
|
#
|
7
4
|
# @abstract Subclass and override {#resolve} to create a new resolver.
|
8
|
-
#
|
5
|
+
# @api public
|
9
6
|
class Puppet::HTTP::Resolver
|
10
7
|
#
|
11
|
-
#
|
12
|
-
#
|
13
|
-
# Create a new resolver
|
8
|
+
# Create a new resolver.
|
14
9
|
#
|
15
10
|
# @param [Puppet::HTTP::Client] client
|
16
|
-
#
|
17
11
|
def initialize(client)
|
18
12
|
@client = client
|
19
13
|
end
|
20
14
|
|
21
|
-
#
|
22
|
-
# @api private
|
23
|
-
#
|
24
15
|
# Return a working server/port for the resolver. This is the base
|
25
16
|
# implementation and is meant to be a placeholder.
|
26
17
|
#
|
@@ -33,14 +24,12 @@ class Puppet::HTTP::Resolver
|
|
33
24
|
#
|
34
25
|
# @raise [NotImplementedError] this base class is not implemented
|
35
26
|
#
|
27
|
+
# @api public
|
36
28
|
def resolve(session, name, ssl_context: nil, canceled_handler: nil)
|
37
29
|
raise NotImplementedError
|
38
30
|
end
|
39
31
|
|
40
|
-
#
|
41
|
-
# @api private
|
42
|
-
#
|
43
|
-
# Check a given connection to establish if it can be relied on for future use
|
32
|
+
# Check a given connection to establish if it can be relied on for future use.
|
44
33
|
#
|
45
34
|
# @param [Puppet::HTTP::Session] session
|
46
35
|
# @param [Puppet::HTTP::Service] service
|
@@ -48,6 +37,7 @@ class Puppet::HTTP::Resolver
|
|
48
37
|
#
|
49
38
|
# @return [Boolean] Returns true if a connection is successful, false otherwise
|
50
39
|
#
|
40
|
+
# @api public
|
51
41
|
def check_connection?(session, service, ssl_context: nil)
|
52
42
|
service.connect(ssl_context: ssl_context)
|
53
43
|
return true
|