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,28 +1,24 @@
|
|
1
1
|
require 'puppet/file_serving/metadata'
|
2
2
|
|
3
|
+
# The FileServer service is used to retrieve file metadata and content.
|
3
4
|
#
|
4
|
-
# @api
|
5
|
-
#
|
6
|
-
# The FileServer service is used to retrieve file metadata and content
|
5
|
+
# @api public
|
7
6
|
#
|
8
7
|
class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
9
|
-
# @api private
|
10
8
|
# @return [String] Default API for the FileServer service
|
11
9
|
API = '/puppet/v3'.freeze
|
12
10
|
|
13
|
-
# @api private
|
14
11
|
# @return [RegEx] RegEx used to determine if a path contains a leading slash
|
15
12
|
PATH_REGEX = /^\//
|
16
13
|
|
17
|
-
#
|
18
|
-
# @api private
|
14
|
+
# Use `Puppet::HTTP::Session.route_to(:fileserver)` to create or get an instance of this class.
|
19
15
|
#
|
20
16
|
# @param [Puppet::HTTP::Client] client
|
21
17
|
# @param [Puppet::HTTP::Session] session
|
22
|
-
# @param [String] server (Puppet[:
|
18
|
+
# @param [String] server (`Puppet[:server]`) If an explicit server is given,
|
23
19
|
# create a service using that server. If server is nil, the default value
|
24
20
|
# is used to create the service.
|
25
|
-
# @param [Integer] port (Puppet[:
|
21
|
+
# @param [Integer] port (`Puppet[:masterport]`) If an explicit port is given, create
|
26
22
|
# a service using that port. If port is nil, the default value is used to
|
27
23
|
# create the service.
|
28
24
|
#
|
@@ -31,19 +27,14 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
31
27
|
super(client, session, url)
|
32
28
|
end
|
33
29
|
|
34
|
-
#
|
35
|
-
# @api private
|
36
|
-
#
|
37
|
-
# Submit a GET request to the server to retrieve the metadata for a specified
|
38
|
-
# file
|
30
|
+
# Submit a GET request to the server to retrieve the metadata for a specified file.
|
39
31
|
#
|
40
32
|
# @param [String] path path to the file to retrieve data from
|
41
33
|
# @param [String] environment the name of the environment we are operating in
|
42
34
|
# @param [Symbol] links Can be one of either `:follow` or `:manage`, defines
|
43
35
|
# how links are handled.
|
44
36
|
# @param [String] checksum_type The digest algorithm used to verify the file.
|
45
|
-
#
|
46
|
-
# defaults to `md5`.
|
37
|
+
# Defaults to `sha256`.
|
47
38
|
# @param [Symbol] source_permissions Can be one of `:use`, `:use_when_creating`,
|
48
39
|
# or `:ignore`. This parameter tells the server if it should include the
|
49
40
|
# file permissions in the response. If set to `:ignore`, the server will
|
@@ -53,6 +44,8 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
53
44
|
# array with the request response and the deserialized metadata for the
|
54
45
|
# file returned from the server
|
55
46
|
#
|
47
|
+
# @api public
|
48
|
+
#
|
56
49
|
def get_file_metadata(path:, environment:, links: :manage, checksum_type: Puppet[:digest_algorithm], source_permissions: :ignore)
|
57
50
|
validate_path(path)
|
58
51
|
|
@@ -74,9 +67,6 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
74
67
|
[response, deserialize(response, Puppet::FileServing::Metadata)]
|
75
68
|
end
|
76
69
|
|
77
|
-
#
|
78
|
-
# @api private
|
79
|
-
#
|
80
70
|
# Submit a GET request to the server to retrieve the metadata for multiple files
|
81
71
|
#
|
82
72
|
# @param [String] path path to the file(s) to retrieve data from
|
@@ -106,7 +96,9 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
106
96
|
# An array with the request response and an array of the deserialized
|
107
97
|
# metadata for each file returned from the server
|
108
98
|
#
|
109
|
-
|
99
|
+
# @api public
|
100
|
+
#
|
101
|
+
def get_file_metadatas(path: nil, environment:, recurse: :false, recurselimit: nil, ignore: nil, links: :manage, checksum_type: Puppet[:digest_algorithm], source_permissions: :ignore)
|
110
102
|
validate_path(path)
|
111
103
|
|
112
104
|
headers = add_puppet_headers('Accept' => get_mime_types(Puppet::FileServing::Metadata).join(', '))
|
@@ -117,7 +109,6 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
117
109
|
params: {
|
118
110
|
recurse: recurse,
|
119
111
|
recurselimit: recurselimit,
|
120
|
-
max_files: max_files,
|
121
112
|
ignore: ignore,
|
122
113
|
links: links,
|
123
114
|
checksum_type: checksum_type,
|
@@ -131,10 +122,7 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
131
122
|
[response, deserialize_multiple(response, Puppet::FileServing::Metadata)]
|
132
123
|
end
|
133
124
|
|
134
|
-
#
|
135
|
-
# @api private
|
136
|
-
#
|
137
|
-
# Submit a GET request to the server to retrieve content of a file
|
125
|
+
# Submit a GET request to the server to retrieve content of a file.
|
138
126
|
#
|
139
127
|
# @param [String] path path to the file to retrieve data from
|
140
128
|
# @param [String] environment the name of the environment we are operating in
|
@@ -143,6 +131,8 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
143
131
|
#
|
144
132
|
# @return [Puppet::HTTP::Response] The request response
|
145
133
|
#
|
134
|
+
# @api public
|
135
|
+
#
|
146
136
|
def get_file_content(path:, environment:, &block)
|
147
137
|
validate_path(path)
|
148
138
|
|
@@ -164,10 +154,8 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
164
154
|
response
|
165
155
|
end
|
166
156
|
|
167
|
-
#
|
168
|
-
#
|
169
|
-
#
|
170
|
-
# Submit a GET request to
|
157
|
+
# Submit a GET request to retrieve file content using the `static_file_content` API
|
158
|
+
# uniquely identified by (`code_id`, `environment`, `path`).
|
171
159
|
#
|
172
160
|
# @param [String] path path to the file to retrieve data from
|
173
161
|
# @param [String] environment the name of the environment we are operating in
|
@@ -177,6 +165,8 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
177
165
|
#
|
178
166
|
# @return [Puppet::HTTP::Response] The request response
|
179
167
|
#
|
168
|
+
# @api public
|
169
|
+
#
|
180
170
|
def get_static_file_content(path:, environment:, code_id:, &block)
|
181
171
|
validate_path(path)
|
182
172
|
|
@@ -1,38 +1,52 @@
|
|
1
1
|
# The puppetserver service.
|
2
2
|
#
|
3
|
-
# @api
|
3
|
+
# @api public
|
4
4
|
#
|
5
5
|
class Puppet::HTTP::Service::Puppetserver < Puppet::HTTP::Service
|
6
|
+
|
7
|
+
# Use `Puppet::HTTP::Session.route_to(:puppetserver)` to create or get an instance of this class.
|
8
|
+
#
|
6
9
|
# @param [Puppet::HTTP::Client] client
|
7
10
|
# @param [Puppet::HTTP::Session] session
|
8
|
-
# @param [String] server If an explicit server is given,
|
11
|
+
# @param [String] server (`Puppet[:server]`) If an explicit server is given,
|
9
12
|
# create a service using that server. If server is nil, the default value
|
10
13
|
# is used to create the service.
|
11
|
-
# @param [Integer] port If an explicit port is given, create
|
14
|
+
# @param [Integer] port (`Puppet[:masterport]`) If an explicit port is given, create
|
12
15
|
# a service using that port. If port is nil, the default value is used to
|
13
16
|
# create the service.
|
14
|
-
# @api private
|
15
17
|
#
|
16
18
|
def initialize(client, session, server, port)
|
17
19
|
url = build_url('', server || Puppet[:server], port || Puppet[:serverport])
|
18
20
|
super(client, session, url)
|
19
21
|
end
|
20
22
|
|
21
|
-
# Request the puppetserver's simple status
|
23
|
+
# Request the puppetserver's simple status.
|
22
24
|
#
|
23
25
|
# @param [Puppet::SSL::SSLContext] ssl_context to use when establishing
|
24
26
|
# the connection.
|
25
27
|
# @return Puppet::HTTP::Response The HTTP response
|
26
|
-
#
|
28
|
+
#
|
29
|
+
# @api public
|
27
30
|
#
|
28
31
|
def get_simple_status(ssl_context: nil)
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
32
|
+
request_path = "/status/v1/simple/server"
|
33
|
+
|
34
|
+
begin
|
35
|
+
response = @client.get(
|
36
|
+
with_base_url(request_path),
|
37
|
+
headers: add_puppet_headers({}),
|
38
|
+
options: {ssl_context: ssl_context}
|
39
|
+
)
|
34
40
|
|
35
|
-
|
41
|
+
process_response(response)
|
42
|
+
rescue Puppet::HTTP::ResponseError => e
|
43
|
+
if e.response.code == 404 && e.response.url.path == "/status/v1/simple/server"
|
44
|
+
request_path = "/status/v1/simple/master"
|
45
|
+
retry
|
46
|
+
else
|
47
|
+
raise e
|
48
|
+
end
|
49
|
+
end
|
36
50
|
|
37
51
|
[response, response.body.to_s]
|
38
52
|
end
|
@@ -1,16 +1,13 @@
|
|
1
|
+
# The Report service is used to submit run reports to the report server.
|
1
2
|
#
|
2
|
-
# @api
|
3
|
-
#
|
4
|
-
# The Report service is used to submit run reports to the report server
|
3
|
+
# @api public
|
5
4
|
#
|
6
5
|
class Puppet::HTTP::Service::Report < Puppet::HTTP::Service
|
7
6
|
|
8
|
-
# @api private
|
9
7
|
# @return [String] Default API for the report service
|
10
8
|
API = '/puppet/v3'.freeze
|
11
9
|
|
12
|
-
#
|
13
|
-
# @api private
|
10
|
+
# Use `Puppet::HTTP::Session.route_to(:report)` to create or get an instance of this class.
|
14
11
|
#
|
15
12
|
# @param [Puppet::HTTP::Client] client
|
16
13
|
# @param [Puppet::HTTP::Session] session
|
@@ -21,15 +18,14 @@ class Puppet::HTTP::Service::Report < Puppet::HTTP::Service
|
|
21
18
|
# a service using that port. If port is nil, the default value is used to
|
22
19
|
# create the service.
|
23
20
|
#
|
21
|
+
# @api private
|
22
|
+
#
|
24
23
|
def initialize(client, session, server, port)
|
25
24
|
url = build_url(API, server || Puppet[:report_server], port || Puppet[:report_port])
|
26
25
|
super(client, session, url)
|
27
26
|
end
|
28
27
|
|
29
|
-
#
|
30
|
-
# @api private
|
31
|
-
#
|
32
|
-
# Submit a report to the report server
|
28
|
+
# Submit a report to the report server.
|
33
29
|
#
|
34
30
|
# @param [String] name the name of the report being submitted
|
35
31
|
# @param [Puppet::Transaction::Report] report run report to be submitted
|
@@ -37,6 +33,8 @@ class Puppet::HTTP::Service::Report < Puppet::HTTP::Service
|
|
37
33
|
#
|
38
34
|
# @return [Puppet::HTTP::Response] response returned by the server
|
39
35
|
#
|
36
|
+
# @api public
|
37
|
+
#
|
40
38
|
def put_report(name, report, environment:)
|
41
39
|
formatter = Puppet::Network::FormatHandler.format_for(Puppet[:preferred_serialization_format])
|
42
40
|
headers = add_puppet_headers(
|
data/lib/puppet/http/service.rb
CHANGED
@@ -1,24 +1,17 @@
|
|
1
|
+
# Represents an abstract Puppet web service.
|
1
2
|
#
|
2
|
-
# @
|
3
|
-
#
|
4
|
-
# Represents a puppet web service
|
5
|
-
#
|
3
|
+
# @abstract Subclass and implement methods for the service's REST APIs.
|
4
|
+
# @api public
|
6
5
|
class Puppet::HTTP::Service
|
7
|
-
# @api private
|
8
6
|
# @return [URI] the url associated with this service
|
9
7
|
attr_reader :url
|
10
8
|
|
11
|
-
# @api private
|
12
9
|
# @return [Array<Symbol>] available services
|
13
10
|
SERVICE_NAMES = [:ca, :fileserver, :puppet, :puppetserver, :report].freeze
|
14
11
|
|
15
|
-
# @api private
|
16
12
|
# @return [Array<Symbol>] format types that are unsupported
|
17
13
|
EXCLUDED_FORMATS = [:yaml, :b64_zlib_yaml, :dot].freeze
|
18
14
|
|
19
|
-
#
|
20
|
-
# @api private
|
21
|
-
#
|
22
15
|
# Create a new web service, which contains the URL used to connect to the
|
23
16
|
# service. The four services implemented are `:ca`, `:fileserver`, `:puppet`,
|
24
17
|
# and `:report`.
|
@@ -35,6 +28,7 @@ class Puppet::HTTP::Service
|
|
35
28
|
#
|
36
29
|
# @return [Puppet::HTTP::Service] an instance of the service type requested
|
37
30
|
#
|
31
|
+
# @api private
|
38
32
|
def self.create_service(client, session, name, server = nil, port = nil)
|
39
33
|
case name
|
40
34
|
when :ca
|
@@ -52,57 +46,49 @@ class Puppet::HTTP::Service
|
|
52
46
|
end
|
53
47
|
end
|
54
48
|
|
55
|
-
#
|
56
|
-
# @api private
|
57
|
-
#
|
58
49
|
# Check if the service named is included in the list of available services.
|
59
50
|
#
|
60
51
|
# @param [Symbol] name
|
61
52
|
#
|
62
53
|
# @return [Boolean]
|
63
54
|
#
|
55
|
+
# @api private
|
64
56
|
def self.valid_name?(name)
|
65
57
|
SERVICE_NAMES.include?(name)
|
66
58
|
end
|
67
59
|
|
68
|
-
#
|
69
|
-
# @api private
|
70
|
-
#
|
71
|
-
# Create a new service
|
60
|
+
# Create a new service. Services should be created by calling `Puppet::HTTP::Session#route_to`.
|
72
61
|
#
|
73
62
|
# @param [Puppet::HTTP::Client] client
|
74
63
|
# @param [Puppet::HTTP::Session] session
|
75
64
|
# @param [URI] url The url to connect to
|
76
65
|
#
|
66
|
+
# @api private
|
77
67
|
def initialize(client, session, url)
|
78
68
|
@client = client
|
79
69
|
@session = session
|
80
70
|
@url = url
|
81
71
|
end
|
82
72
|
|
83
|
-
#
|
84
|
-
# @api private
|
85
|
-
#
|
86
73
|
# Return the url with the given path encoded and appended
|
87
74
|
#
|
88
75
|
# @param [String] path the string to append to the base url
|
89
76
|
#
|
90
77
|
# @return [URI] the URI object containing the encoded path
|
91
78
|
#
|
79
|
+
# @api public
|
92
80
|
def with_base_url(path)
|
93
81
|
u = @url.dup
|
94
82
|
u.path += Puppet::Util.uri_encode(path)
|
95
83
|
u
|
96
84
|
end
|
97
85
|
|
86
|
+
# Open a connection using the given ssl context.
|
98
87
|
#
|
99
|
-
# @
|
100
|
-
#
|
101
|
-
# Open a connection using the given ssl context
|
102
|
-
#
|
103
|
-
# @param [Puppet::SSL::SSLContext] ssl_context (nil) optional ssl context to
|
104
|
-
# connect with
|
88
|
+
# @param [Puppet::SSL::SSLContext] ssl_context An optional ssl context to connect with
|
89
|
+
# @return [void]
|
105
90
|
#
|
91
|
+
# @api public
|
106
92
|
def connect(ssl_context: nil)
|
107
93
|
@client.connect(@url, options: {ssl_context: ssl_context})
|
108
94
|
end
|
data/lib/puppet/http/session.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
|
-
#
|
2
|
-
# @api private
|
3
|
-
#
|
4
1
|
# The session is the mechanism by which services may be connected to and accessed.
|
5
2
|
#
|
3
|
+
# @api public
|
6
4
|
class Puppet::HTTP::Session
|
7
5
|
# capabilities for a site
|
8
6
|
CAP_LOCALES = 'locales'.freeze
|
@@ -14,16 +12,15 @@ class Puppet::HTTP::Session
|
|
14
12
|
# puppet version where JSON was enabled by default
|
15
13
|
SUPPORTED_JSON_DEFAULT = Gem::Version.new("5.0.0")
|
16
14
|
|
17
|
-
#
|
18
|
-
# @api private
|
19
|
-
#
|
20
15
|
# Create a new HTTP session. The session is the mechanism by which services
|
21
|
-
# may be connected to and accessed.
|
16
|
+
# may be connected to and accessed. Sessions should be created using
|
17
|
+
# `Puppet::HTTP::Client#create_session`.
|
22
18
|
#
|
23
19
|
# @param [Puppet::HTTP::Client] client the container for this session
|
24
20
|
# @param [Array<Puppet::HTTP::Resolver>] resolvers array of resolver strategies
|
25
21
|
# to implement.
|
26
22
|
#
|
23
|
+
# @api private
|
27
24
|
def initialize(client, resolvers)
|
28
25
|
@client = client
|
29
26
|
@resolvers = resolvers
|
@@ -31,9 +28,6 @@ class Puppet::HTTP::Session
|
|
31
28
|
@server_versions = {}
|
32
29
|
end
|
33
30
|
|
34
|
-
#
|
35
|
-
# @api private
|
36
|
-
#
|
37
31
|
# If an explicit server and port are specified on the command line or
|
38
32
|
# configuration file, this method always returns a Service with that host and
|
39
33
|
# port. Otherwise, we walk the list of resolvers in priority order:
|
@@ -45,12 +39,13 @@ class Puppet::HTTP::Session
|
|
45
39
|
# is cached and returned if `route_to` is called again.
|
46
40
|
#
|
47
41
|
# @param [Symbol] name the service to resolve
|
48
|
-
# @param [URI] url
|
49
|
-
# @param [Puppet::SSL::SSLContext] ssl_context
|
42
|
+
# @param [URI] url optional explicit url to use, if it is already known
|
43
|
+
# @param [Puppet::SSL::SSLContext] ssl_context ssl context to be
|
50
44
|
# used for connections
|
51
45
|
#
|
52
46
|
# @return [Puppet::HTTP::Service] the resolved service
|
53
47
|
#
|
48
|
+
# @api public
|
54
49
|
def route_to(name, url: nil, ssl_context: nil)
|
55
50
|
raise ArgumentError, "Unknown service #{name}" unless Puppet::HTTP::Service.valid_name?(name)
|
56
51
|
|
@@ -82,25 +77,20 @@ class Puppet::HTTP::Session
|
|
82
77
|
raise Puppet::HTTP::RouteError, "No more routes to #{name}"
|
83
78
|
end
|
84
79
|
|
85
|
-
#
|
86
|
-
# @api private
|
87
|
-
#
|
88
80
|
# Collect per-site server versions. This will allow us to modify future
|
89
81
|
# requests based on the version of puppetserver we are talking to.
|
90
82
|
#
|
91
83
|
# @param [Puppet::HTTP::Response] response the request response containing headers
|
92
84
|
#
|
85
|
+
# @api private
|
93
86
|
def process_response(response)
|
94
87
|
version = response[Puppet::HTTP::HEADER_PUPPET_VERSION]
|
95
88
|
if version
|
96
|
-
site = Puppet::
|
89
|
+
site = Puppet::HTTP::Site.from_uri(response.url)
|
97
90
|
@server_versions[site] = version
|
98
91
|
end
|
99
92
|
end
|
100
93
|
|
101
|
-
#
|
102
|
-
# @api private
|
103
|
-
#
|
104
94
|
# Determine if a session supports a capability. Depending on the server version
|
105
95
|
# we are talking to, we know certain features are available or not. These
|
106
96
|
# specifications are defined here so we can modify our requests appropriately.
|
@@ -110,13 +100,14 @@ class Puppet::HTTP::Session
|
|
110
100
|
#
|
111
101
|
# @return [Boolean]
|
112
102
|
#
|
103
|
+
# @api public
|
113
104
|
def supports?(name, capability)
|
114
105
|
raise ArgumentError, "Unknown service #{name}" unless Puppet::HTTP::Service.valid_name?(name)
|
115
106
|
|
116
107
|
service = @resolved_services[name]
|
117
108
|
return false unless service
|
118
109
|
|
119
|
-
site = Puppet::
|
110
|
+
site = Puppet::HTTP::Site.from_uri(service.url)
|
120
111
|
server_version = @server_versions[site]
|
121
112
|
|
122
113
|
case capability
|
data/lib/puppet/http.rb
CHANGED
@@ -1,23 +1,25 @@
|
|
1
1
|
module Puppet
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
require 'puppet/network/http/pool'
|
10
|
-
require 'puppet/network/resolver'
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
# @api private
|
2
|
+
# Contains an HTTP client for making network requests to puppet and other
|
3
|
+
# HTTP servers.
|
4
|
+
#
|
5
|
+
# @see Puppet::HTTP::Client
|
6
|
+
# @see Puppet::HTTP::HTTPError
|
7
|
+
# @see Puppet::HTTP::Response
|
8
|
+
# @api public
|
15
9
|
module HTTP
|
16
10
|
ACCEPT_ENCODING = "gzip;q=1.0,deflate;q=0.6,identity;q=0.3".freeze
|
17
11
|
HEADER_PUPPET_VERSION = "X-Puppet-Version".freeze
|
18
12
|
|
19
13
|
require 'puppet/http/errors'
|
14
|
+
require 'puppet/http/site'
|
15
|
+
require 'puppet/http/pool_entry'
|
16
|
+
require 'puppet/http/proxy'
|
17
|
+
require 'puppet/http/factory'
|
18
|
+
require 'puppet/http/pool'
|
19
|
+
require 'puppet/http/dns'
|
20
20
|
require 'puppet/http/response'
|
21
|
+
require 'puppet/http/response_converter'
|
22
|
+
require 'puppet/http/response_net_http'
|
21
23
|
require 'puppet/http/service'
|
22
24
|
require 'puppet/http/service/ca'
|
23
25
|
require 'puppet/http/service/compiler'
|
@@ -34,4 +36,11 @@ module Puppet
|
|
34
36
|
require 'puppet/http/retry_after_handler'
|
35
37
|
require 'puppet/http/external_client'
|
36
38
|
end
|
39
|
+
|
40
|
+
# Legacy HTTP API
|
41
|
+
module Network
|
42
|
+
module HTTP
|
43
|
+
require 'puppet/network/http_pool'
|
44
|
+
end
|
45
|
+
end
|
37
46
|
end
|
@@ -53,22 +53,8 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
|
|
53
53
|
node.trusted_data = Puppet.lookup(:trusted_information) { Puppet::Context::TrustedInformation.local(node) }.to_h
|
54
54
|
|
55
55
|
if node.environment
|
56
|
-
# If the requested environment doesn't match the server specified environment,
|
57
|
-
# as determined by the node terminus, and the request wants us to check for an
|
58
|
-
# environment mismatch, then return an empty catalog with the server-specified
|
59
|
-
# enviroment.
|
60
|
-
if request.remote? && request.options[:check_environment] && node.environment != request.environment
|
61
|
-
return Puppet::Resource::Catalog.new(node.name, node.environment)
|
62
|
-
end
|
63
|
-
|
64
56
|
node.environment.with_text_domain do
|
65
|
-
|
66
|
-
envs.guard(node.environment.name)
|
67
|
-
begin
|
68
|
-
compile(node, request.options)
|
69
|
-
ensure
|
70
|
-
envs.unguard(node.environment.name)
|
71
|
-
end
|
57
|
+
compile(node, request.options)
|
72
58
|
end
|
73
59
|
else
|
74
60
|
compile(node, request.options)
|
@@ -92,10 +78,6 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
|
|
92
78
|
Puppet.run_mode.server?
|
93
79
|
end
|
94
80
|
|
95
|
-
def require_environment?
|
96
|
-
false
|
97
|
-
end
|
98
|
-
|
99
81
|
private
|
100
82
|
|
101
83
|
# @param facts [String] facts in a wire format for decoding
|
@@ -172,7 +154,7 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
|
|
172
154
|
location = Puppet::Module::FILETYPES['files']
|
173
155
|
|
174
156
|
!!(source_as_uri.path =~ /^\/modules\// &&
|
175
|
-
metadata.full_path =~ /#{environment_path}
|
157
|
+
metadata.full_path =~ /#{environment_path}[^\/]+\/[^\/]+\/#{location}\/.+/)
|
176
158
|
end
|
177
159
|
|
178
160
|
# Helper method to log file resources that could not be inlined because they
|
@@ -191,7 +173,7 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
|
|
191
173
|
# Inline file metadata for static catalogs
|
192
174
|
# Initially restricted to files sourced from codedir via puppet:/// uri.
|
193
175
|
def inline_metadata(catalog, checksum_type)
|
194
|
-
environment_path = Pathname.new File.join(Puppet[:environmentpath], catalog.environment)
|
176
|
+
environment_path = Pathname.new File.join(Puppet[:environmentpath], catalog.environment, "")
|
195
177
|
environment_path = Puppet::Environments::Directories.real_path(environment_path)
|
196
178
|
list_of_resources = catalog.resources.find_all { |res| res.type == "File" }
|
197
179
|
|
@@ -212,7 +194,6 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
|
|
212
194
|
:source_permissions => resource[:source_permissions] ? resource[:source_permissions].to_sym : :ignore,
|
213
195
|
:recurse => true,
|
214
196
|
:recurselimit => resource[:recurselimit],
|
215
|
-
:max_files => resource[:max_files],
|
216
197
|
:ignore => resource[:ignore],
|
217
198
|
}
|
218
199
|
|
@@ -433,17 +414,17 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
|
|
433
414
|
"serverip" => "ipaddress",
|
434
415
|
"serverip6" => "ipaddress6"
|
435
416
|
}.each do |var, fact|
|
436
|
-
value =
|
417
|
+
value = Facter.value(fact)
|
437
418
|
if !value.nil?
|
438
419
|
@server_facts[var] = value
|
439
420
|
end
|
440
421
|
end
|
441
422
|
|
442
423
|
if @server_facts["servername"].nil?
|
443
|
-
host =
|
424
|
+
host = Facter.value(:hostname)
|
444
425
|
if host.nil?
|
445
426
|
Puppet.warning _("Could not retrieve fact servername")
|
446
|
-
elsif domain =
|
427
|
+
elsif domain = Facter.value(:domain) #rubocop:disable Lint/AssignmentInCondition
|
447
428
|
@server_facts["servername"] = [host, domain].join(".")
|
448
429
|
else
|
449
430
|
@server_facts["servername"] = host
|
@@ -5,8 +5,6 @@ class Puppet::Resource::Catalog::Rest < Puppet::Indirector::REST
|
|
5
5
|
desc "Find resource catalogs over HTTP via REST."
|
6
6
|
|
7
7
|
def find(request)
|
8
|
-
return super unless use_http_client?
|
9
|
-
|
10
8
|
checksum_type = if request.options[:checksum_type]
|
11
9
|
request.options[:checksum_type].split('.')
|
12
10
|
else
|
@@ -20,7 +18,6 @@ class Puppet::Resource::Catalog::Rest < Puppet::Indirector::REST
|
|
20
18
|
facts: request.options[:facts_for_catalog],
|
21
19
|
environment: request.environment.to_s,
|
22
20
|
configured_environment: request.options[:configured_environment],
|
23
|
-
check_environment: request.options[:check_environment],
|
24
21
|
transaction_uuid: request.options[:transaction_uuid],
|
25
22
|
job_uuid: request.options[:job_id],
|
26
23
|
static_catalog: request.options[:static_catalog],
|
@@ -31,11 +28,11 @@ class Puppet::Resource::Catalog::Rest < Puppet::Indirector::REST
|
|
31
28
|
if e.response.code == 404
|
32
29
|
return nil unless request.options[:fail_on_404]
|
33
30
|
|
34
|
-
_, body = parse_response(e.response
|
31
|
+
_, body = parse_response(e.response)
|
35
32
|
msg = _("Find %{uri} resulted in 404 with the message: %{body}") % { uri: elide(e.response.url.path, 100), body: body }
|
36
33
|
raise Puppet::Error, msg
|
37
34
|
else
|
38
|
-
raise convert_to_http_error(e.response
|
35
|
+
raise convert_to_http_error(e.response)
|
39
36
|
end
|
40
37
|
end
|
41
38
|
end
|
@@ -20,10 +20,10 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
20
20
|
|
21
21
|
# Lookup a host's facts up in Facter.
|
22
22
|
def find(request)
|
23
|
-
|
23
|
+
Facter.reset
|
24
24
|
|
25
25
|
# Note: we need to setup puppet's external search paths before adding the puppetversion
|
26
|
-
# fact. This is because in Facter 2.x, the first `
|
26
|
+
# fact. This is because in Facter 2.x, the first `Facter.add` causes Facter to create
|
27
27
|
# its directory loaders which cannot be changed, meaning other external facts won't
|
28
28
|
# be resolved. (PUP-4607)
|
29
29
|
self.class.setup_external_search_paths(request)
|
@@ -36,7 +36,7 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
36
36
|
raise(Puppet::Error, _("puppet facts show requires version 4.0.40 or greater of Facter.")) unless Facter.respond_to?(:resolve)
|
37
37
|
find_with_options(request)
|
38
38
|
else
|
39
|
-
Puppet::Node::Facts.new(request.key,
|
39
|
+
Puppet::Node::Facts.new(request.key, Facter.to_hash)
|
40
40
|
end
|
41
41
|
|
42
42
|
result.add_local_facts unless request.options[:resolve_options]
|
@@ -68,7 +68,7 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
68
68
|
true
|
69
69
|
end
|
70
70
|
dirs << request.options[:custom_dir] if request.options[:custom_dir]
|
71
|
-
|
71
|
+
Facter.search(*dirs)
|
72
72
|
end
|
73
73
|
|
74
74
|
def self.setup_external_search_paths(request)
|
@@ -90,7 +90,7 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
90
90
|
end
|
91
91
|
|
92
92
|
dirs << request.options[:external_dir] if request.options[:external_dir]
|
93
|
-
|
93
|
+
Facter.search_external dirs
|
94
94
|
end
|
95
95
|
|
96
96
|
private
|
@@ -104,6 +104,6 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
104
104
|
options_for_facter += " --no-block" if options[:no_block] == false
|
105
105
|
options_for_facter += " --no-cache" if options[:no_cache] == false
|
106
106
|
|
107
|
-
Puppet::Node::Facts.new(request.key,
|
107
|
+
Puppet::Node::Facts.new(request.key, Facter.resolve(options_for_facter))
|
108
108
|
end
|
109
109
|
end
|