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
data/lib/puppet/http/response.rb
CHANGED
@@ -1,118 +1,100 @@
|
|
1
|
+
# Represents the response returned from the server from an HTTP request.
|
1
2
|
#
|
2
|
-
# @api
|
3
|
-
#
|
4
|
-
# Represents the response returned from the server from an HTTP request
|
5
|
-
#
|
3
|
+
# @api abstract
|
4
|
+
# @api public
|
6
5
|
class Puppet::HTTP::Response
|
7
|
-
# @
|
8
|
-
# @return [Net::HTTP] the Net::HTTP response
|
9
|
-
attr_reader :nethttp
|
10
|
-
|
11
|
-
# @api private
|
12
|
-
# @return [URI] the response uri
|
6
|
+
# @return [URI] the response url
|
13
7
|
attr_reader :url
|
14
8
|
|
9
|
+
# Create a response associated with the URL.
|
15
10
|
#
|
16
|
-
# @api private
|
17
|
-
#
|
18
|
-
# Object to represent the response returned from an HTTP request
|
19
|
-
#
|
20
|
-
# @param [Net::HTTP] nethttp the request response
|
21
11
|
# @param [URI] url
|
22
|
-
#
|
23
|
-
|
24
|
-
|
12
|
+
# @param [Integer] HTTP status
|
13
|
+
# @param [String] HTTP reason
|
14
|
+
def initialize(url, code, reason)
|
25
15
|
@url = url
|
16
|
+
@code = code
|
17
|
+
@reason = reason
|
26
18
|
end
|
27
19
|
|
28
|
-
#
|
29
|
-
# @api private
|
30
|
-
#
|
31
|
-
# Extract the response code
|
20
|
+
# Return the response code.
|
32
21
|
#
|
33
22
|
# @return [Integer] Response code for the request
|
34
23
|
#
|
24
|
+
# @api public
|
35
25
|
def code
|
36
|
-
@
|
26
|
+
@code
|
37
27
|
end
|
38
28
|
|
39
|
-
#
|
40
|
-
# @api private
|
41
|
-
#
|
42
|
-
# Extract the response message
|
29
|
+
# Return the response message.
|
43
30
|
#
|
44
31
|
# @return [String] Response message for the request
|
45
32
|
#
|
33
|
+
# @api public
|
46
34
|
def reason
|
47
|
-
@
|
35
|
+
@reason
|
48
36
|
end
|
49
37
|
|
50
|
-
#
|
51
|
-
# @api private
|
52
|
-
#
|
53
38
|
# Returns the entire response body. Can be used instead of
|
54
|
-
# Puppet::HTTP::Response.read_body
|
39
|
+
# `Puppet::HTTP::Response.read_body`, but both methods cannot be used for the
|
55
40
|
# same response.
|
56
41
|
#
|
57
42
|
# @return [String] Response body for the request
|
58
43
|
#
|
44
|
+
# @api public
|
59
45
|
def body
|
60
|
-
|
46
|
+
raise NotImplementedError
|
61
47
|
end
|
62
48
|
|
63
|
-
#
|
64
|
-
# @api private
|
65
|
-
#
|
66
49
|
# Streams the response body to the caller in chunks. Can be used instead of
|
67
|
-
# Puppet::HTTP::Response.body
|
50
|
+
# `Puppet::HTTP::Response.body`, but both methods cannot be used for the same
|
68
51
|
# response.
|
69
52
|
#
|
70
53
|
# @yield [String] Streams the response body in chunks
|
71
54
|
#
|
72
55
|
# @raise [ArgumentError] raise if a block is not given
|
73
56
|
#
|
57
|
+
# @api public
|
74
58
|
def read_body(&block)
|
75
|
-
raise
|
76
|
-
|
77
|
-
@nethttp.read_body(&block)
|
59
|
+
raise NotImplementedError
|
78
60
|
end
|
79
61
|
|
80
|
-
#
|
81
|
-
# @api private
|
82
|
-
#
|
83
|
-
# Check if the request received a response of success
|
62
|
+
# Check if the request received a response of success (HTTP 2xx).
|
84
63
|
#
|
85
64
|
# @return [Boolean] Returns true if the response indicates success
|
86
65
|
#
|
66
|
+
# @api public
|
87
67
|
def success?
|
88
|
-
@
|
68
|
+
200 <= @code && @code < 300
|
89
69
|
end
|
90
70
|
|
91
|
-
# @api private
|
92
|
-
#
|
93
71
|
# Get a header case-insensitively.
|
72
|
+
#
|
94
73
|
# @param [String] name The header name
|
95
74
|
# @return [String] The header value
|
96
75
|
#
|
76
|
+
# @api public
|
97
77
|
def [](name)
|
98
|
-
|
78
|
+
raise NotImplementedError
|
99
79
|
end
|
100
80
|
|
101
|
-
# @api private
|
102
|
-
#
|
103
81
|
# Yield each header name and value. Returns an enumerator if no block is given.
|
104
82
|
#
|
105
83
|
# @yieldparam [String] header name
|
106
84
|
# @yieldparam [String] header value
|
107
85
|
#
|
86
|
+
# @api public
|
108
87
|
def each_header(&block)
|
109
|
-
|
88
|
+
raise NotImplementedError
|
110
89
|
end
|
111
90
|
|
112
|
-
#
|
113
|
-
#
|
114
|
-
#
|
91
|
+
# Ensure the response body is fully read so that the server is not blocked
|
92
|
+
# waiting for us to read data from the socket. Also if the caller streamed
|
93
|
+
# the response, but didn't read the data, we need a way to drain the socket
|
94
|
+
# before adding the connection back to the connection pool, otherwise the
|
95
|
+
# unread response data would "leak" into the next HTTP request/response.
|
115
96
|
#
|
97
|
+
# @api public
|
116
98
|
def drain
|
117
99
|
body
|
118
100
|
true
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Puppet::HTTP::ResponseConverter
|
2
|
+
module_function
|
3
|
+
|
4
|
+
# Borrowed from puppetserver, see https://github.com/puppetlabs/puppetserver/commit/a1ebeaaa5af590003ccd23c89f808ba4f0c89609
|
5
|
+
def to_ruby_response(response)
|
6
|
+
str_code = response.code.to_s
|
7
|
+
|
8
|
+
# Copied from Net::HTTPResponse because it is private there.
|
9
|
+
clazz = Net::HTTPResponse::CODE_TO_OBJ[str_code] or
|
10
|
+
Net::HTTPResponse::CODE_CLASS_TO_OBJ[str_code[0,1]] or
|
11
|
+
Net::HTTPUnknownResponse
|
12
|
+
result = clazz.new(nil, str_code, nil)
|
13
|
+
result.body = response.body
|
14
|
+
# This is nasty, nasty. But apparently there is no way to create
|
15
|
+
# an instance of Net::HttpResponse from outside of the library and have
|
16
|
+
# the body be readable, unless you do stupid things like this.
|
17
|
+
result.instance_variable_set(:@read, true)
|
18
|
+
response.each_header do |k,v|
|
19
|
+
result[k] = v
|
20
|
+
end
|
21
|
+
result
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# Adapts Net::HTTPResponse to Puppet::HTTP::Response
|
2
|
+
#
|
3
|
+
# @api public
|
4
|
+
class Puppet::HTTP::ResponseNetHTTP < Puppet::HTTP::Response
|
5
|
+
|
6
|
+
# Create a response associated with the URL.
|
7
|
+
#
|
8
|
+
# @param [URI] url
|
9
|
+
# @param [Net::HTTPResponse] nethttp The response
|
10
|
+
def initialize(url, nethttp)
|
11
|
+
super(url, nethttp.code.to_i, nethttp.message)
|
12
|
+
|
13
|
+
@nethttp = nethttp
|
14
|
+
end
|
15
|
+
|
16
|
+
# (see Puppet::HTTP::Response#body)
|
17
|
+
def body
|
18
|
+
@nethttp.body
|
19
|
+
end
|
20
|
+
|
21
|
+
# (see Puppet::HTTP::Response#read_body)
|
22
|
+
def read_body(&block)
|
23
|
+
raise ArgumentError, "A block is required" unless block_given?
|
24
|
+
|
25
|
+
@nethttp.read_body(&block)
|
26
|
+
end
|
27
|
+
|
28
|
+
# (see Puppet::HTTP::Response#success?)
|
29
|
+
def success?
|
30
|
+
@nethttp.is_a?(Net::HTTPSuccess)
|
31
|
+
end
|
32
|
+
|
33
|
+
# (see Puppet::HTTP::Response#[])
|
34
|
+
def [](name)
|
35
|
+
@nethttp[name]
|
36
|
+
end
|
37
|
+
|
38
|
+
# (see Puppet::HTTP::Response#each_header)
|
39
|
+
def each_header(&block)
|
40
|
+
@nethttp.each_header(&block)
|
41
|
+
end
|
42
|
+
end
|
@@ -1,28 +1,20 @@
|
|
1
1
|
require 'date'
|
2
2
|
require 'time'
|
3
3
|
|
4
|
-
#
|
5
|
-
# @api private
|
6
|
-
#
|
7
4
|
# Parse information relating to responses containing a Retry-After headers
|
8
5
|
#
|
6
|
+
# @api private
|
9
7
|
class Puppet::HTTP::RetryAfterHandler
|
10
|
-
|
11
|
-
# @api private
|
12
|
-
#
|
8
|
+
|
13
9
|
# Create a handler to allow the system to sleep between HTTP requests
|
14
10
|
#
|
15
11
|
# @param [Integer] retry_limit number of retries allowed
|
16
12
|
# @param [Integer] max_sleep maximum sleep time allowed
|
17
|
-
#
|
18
13
|
def initialize(retry_limit, max_sleep)
|
19
14
|
@retry_limit = retry_limit
|
20
15
|
@max_sleep = max_sleep
|
21
16
|
end
|
22
17
|
|
23
|
-
#
|
24
|
-
# @api private
|
25
|
-
#
|
26
18
|
# Does the response from the server tell us to wait until we attempt the next
|
27
19
|
# retry?
|
28
20
|
#
|
@@ -32,6 +24,7 @@ class Puppet::HTTP::RetryAfterHandler
|
|
32
24
|
# @return [Boolean] Return true if the response code is 429 or 503, return
|
33
25
|
# false otherwise
|
34
26
|
#
|
27
|
+
# @api private
|
35
28
|
def retry_after?(request, response)
|
36
29
|
case response.code
|
37
30
|
when 429, 503
|
@@ -41,9 +34,6 @@ class Puppet::HTTP::RetryAfterHandler
|
|
41
34
|
end
|
42
35
|
end
|
43
36
|
|
44
|
-
#
|
45
|
-
# @api private
|
46
|
-
#
|
47
37
|
# The amount of time to wait before attempting a retry
|
48
38
|
#
|
49
39
|
# @param [Net::HTTP] request
|
@@ -55,6 +45,7 @@ class Puppet::HTTP::RetryAfterHandler
|
|
55
45
|
# @raise [Puppet::HTTP::TooManyRetryAfters] raise if we have hit our retry
|
56
46
|
# limit
|
57
47
|
#
|
48
|
+
# @api private
|
58
49
|
def retry_after_interval(request, response, retries)
|
59
50
|
raise Puppet::HTTP::TooManyRetryAfters.new(request.uri) if retries >= @retry_limit
|
60
51
|
|
@@ -1,26 +1,21 @@
|
|
1
|
+
# The CA service is used to handle certificate related REST requests.
|
1
2
|
#
|
2
|
-
# @api
|
3
|
-
#
|
4
|
-
# The Ca service is used to handle certificate requests
|
5
|
-
#
|
3
|
+
# @api public
|
6
4
|
class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
|
7
|
-
# @api private
|
8
5
|
# @return [Hash] default headers for the ca service
|
9
6
|
HEADERS = { 'Accept' => 'text/plain' }.freeze
|
10
7
|
|
11
|
-
# @api private
|
12
8
|
# @return [String] default API for the ca service
|
13
9
|
API = '/puppet-ca/v1'.freeze
|
14
10
|
|
15
|
-
#
|
16
|
-
# @api private
|
11
|
+
# Use `Puppet::HTTP::Session.route_to(:ca)` to create or get an instance of this class.
|
17
12
|
#
|
18
13
|
# @param [Puppet::HTTP::Client] client
|
19
14
|
# @param [Puppet::HTTP::Session] session
|
20
|
-
# @param [String] server (Puppet[:ca_server]) If an explicit server is given,
|
15
|
+
# @param [String] server (`Puppet[:ca_server]`) If an explicit server is given,
|
21
16
|
# create a service using that server. If server is nil, the default value
|
22
17
|
# is used to create the service.
|
23
|
-
# @param [Integer] port (Puppet[:ca_port]) If an explicit port is given, create
|
18
|
+
# @param [Integer] port (`Puppet[:ca_port]`) If an explicit port is given, create
|
24
19
|
# a service using that port. If port is nil, the default value is used to
|
25
20
|
# create the service.
|
26
21
|
#
|
@@ -29,10 +24,7 @@ class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
|
|
29
24
|
super(client, session, url)
|
30
25
|
end
|
31
26
|
|
32
|
-
#
|
33
|
-
# @api private
|
34
|
-
#
|
35
|
-
# Submit a GET request to retrieve the named certificate from the server
|
27
|
+
# Submit a GET request to retrieve the named certificate from the server.
|
36
28
|
#
|
37
29
|
# @param [String] name name of the certificate to request
|
38
30
|
# @param [Puppet::SSL::SSLContext] ssl_context
|
@@ -40,6 +32,7 @@ class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
|
|
40
32
|
# @return [Array<Puppet::HTTP::Response, String>] An array containing the
|
41
33
|
# request response and the stringified body of the request response
|
42
34
|
#
|
35
|
+
# @api public
|
43
36
|
def get_certificate(name, ssl_context: nil)
|
44
37
|
response = @client.get(
|
45
38
|
with_base_url("/certificate/#{name}"),
|
@@ -52,11 +45,8 @@ class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
|
|
52
45
|
[response, response.body.to_s]
|
53
46
|
end
|
54
47
|
|
55
|
-
#
|
56
|
-
# @api private
|
57
|
-
#
|
58
48
|
# Submit a GET request to retrieve the certificate revocation list from the
|
59
|
-
# server
|
49
|
+
# server.
|
60
50
|
#
|
61
51
|
# @param [Time] if_modified_since If not nil, only download the CRL if it has
|
62
52
|
# been modified since the specified time.
|
@@ -65,6 +55,7 @@ class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
|
|
65
55
|
# @return [Array<Puppet::HTTP::Response, String>] An array containing the
|
66
56
|
# request response and the stringified body of the request response
|
67
57
|
#
|
58
|
+
# @api public
|
68
59
|
def get_certificate_revocation_list(if_modified_since: nil, ssl_context: nil)
|
69
60
|
headers = add_puppet_headers(HEADERS)
|
70
61
|
headers['If-Modified-Since'] = if_modified_since.httpdate if if_modified_since
|
@@ -80,10 +71,7 @@ class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
|
|
80
71
|
[response, response.body.to_s]
|
81
72
|
end
|
82
73
|
|
83
|
-
#
|
84
|
-
# @api private
|
85
|
-
#
|
86
|
-
# Submit a PUT request to send a certificate request to the server
|
74
|
+
# Submit a PUT request to send a certificate request to the server.
|
87
75
|
#
|
88
76
|
# @param [String] name The name of the certificate request being sent
|
89
77
|
# @param [OpenSSL::X509::Request] csr Certificate request to send to the
|
@@ -92,6 +80,7 @@ class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
|
|
92
80
|
#
|
93
81
|
# @return [Puppet::HTTP::Response] The request response
|
94
82
|
#
|
83
|
+
# @api public
|
95
84
|
def put_certificate_request(name, csr, ssl_context: nil)
|
96
85
|
headers = add_puppet_headers(HEADERS)
|
97
86
|
headers['Content-Type'] = 'text/plain'
|
@@ -1,23 +1,19 @@
|
|
1
|
-
#
|
2
|
-
# @api private
|
3
|
-
#
|
4
1
|
# The Compiler service is used to submit and retrieve data from the
|
5
2
|
# puppetserver.
|
6
3
|
#
|
4
|
+
# @api public
|
7
5
|
class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
8
|
-
# @api private
|
9
6
|
# @return [String] Default API for the Compiler service
|
10
7
|
API = '/puppet/v3'.freeze
|
11
8
|
|
12
|
-
#
|
13
|
-
# @api private
|
9
|
+
# Use `Puppet::HTTP::Session.route_to(:puppet)` to create or get an instance of this class.
|
14
10
|
#
|
15
11
|
# @param [Puppet::HTTP::Client] client
|
16
12
|
# @param [Puppet::HTTP::Session] session
|
17
|
-
# @param [String] server (Puppet[:
|
13
|
+
# @param [String] server (`Puppet[:server]`) If an explicit server is given,
|
18
14
|
# create a service using that server. If server is nil, the default value
|
19
15
|
# is used to create the service.
|
20
|
-
# @param [Integer] port (Puppet[:
|
16
|
+
# @param [Integer] port (`Puppet[:masterport]`) If an explicit port is given, create
|
21
17
|
# a service using that port. If port is nil, the default value is used to
|
22
18
|
# create the service.
|
23
19
|
#
|
@@ -26,10 +22,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
26
22
|
super(client, session, url)
|
27
23
|
end
|
28
24
|
|
29
|
-
#
|
30
|
-
# @api private
|
31
|
-
#
|
32
|
-
# Submit a GET request to retrieve a node from the server
|
25
|
+
# Submit a GET request to retrieve a node from the server.
|
33
26
|
#
|
34
27
|
# @param [String] name The name of the node being requested
|
35
28
|
# @param [String] environment The name of the environment we are operating in
|
@@ -41,6 +34,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
41
34
|
# @return [Array<Puppet::HTTP::Response, Puppet::Node>] An array containing
|
42
35
|
# the request response and the deserialized requested node
|
43
36
|
#
|
37
|
+
# @api public
|
44
38
|
def get_node(name, environment:, configured_environment: nil, transaction_uuid: nil)
|
45
39
|
headers = add_puppet_headers('Accept' => get_mime_types(Puppet::Node).join(', '))
|
46
40
|
|
@@ -59,20 +53,13 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
59
53
|
[response, deserialize(response, Puppet::Node)]
|
60
54
|
end
|
61
55
|
|
62
|
-
#
|
63
|
-
# @api private
|
64
|
-
#
|
65
|
-
# Submit a POST request to submit a catalog to the server
|
56
|
+
# Submit a POST request to submit a catalog to the server.
|
66
57
|
#
|
67
58
|
# @param [String] name The name of the catalog to be submitted
|
68
59
|
# @param [Puppet::Node::Facts] facts Facts for this catalog
|
69
60
|
# @param [String] environment The name of the environment we are operating in
|
70
61
|
# @param [String] configured_environment Optional, the name of the configured
|
71
62
|
# environment. If unset, `environment` is used.
|
72
|
-
# @param [Boolean] check_environment If true, request that the server check if
|
73
|
-
# our `environment` matches the server-specified environment. If they do not
|
74
|
-
# match, then the server may return an empty catalog in the server-specified
|
75
|
-
# environment.
|
76
63
|
# @param [String] transaction_uuid An agent generated transaction uuid, used
|
77
64
|
# for connecting catalogs and reports.
|
78
65
|
# @param [String] job_uuid A unique job identifier defined when the orchestrator
|
@@ -81,15 +68,14 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
81
68
|
# @param [Boolean] static_catalog Indicates if the file metadata(s) are inlined
|
82
69
|
# in the catalog. This informs the agent if it needs to make a second request
|
83
70
|
# to retrieve metadata in addition to the initial catalog request.
|
84
|
-
# @param [Array<String>] checksum_type An array of accepted checksum
|
85
|
-
# Currently defaults to `["md5", "sha256", "sha384", "sha512", "sha224"]`,
|
86
|
-
# or `["sha256", "sha384", "sha512", "sha224"]` if fips is enabled.
|
71
|
+
# @param [Array<String>] checksum_type An array of accepted checksum types.
|
87
72
|
#
|
88
73
|
# @return [Array<Puppet::HTTP::Response, Puppet::Resource::Catalog>] An array
|
89
74
|
# containing the request response and the deserialized catalog returned by
|
90
75
|
# the server
|
91
76
|
#
|
92
|
-
|
77
|
+
# @api public
|
78
|
+
def post_catalog(name, facts:, environment:, configured_environment: nil, transaction_uuid: nil, job_uuid: nil, static_catalog: true, checksum_type: Puppet[:supported_checksum_types])
|
93
79
|
if Puppet[:preferred_serialization_format] == "pson"
|
94
80
|
formatter = Puppet::Network::FormatHandler.format_for(:pson)
|
95
81
|
# must use 'pson' instead of 'text/pson'
|
@@ -107,7 +93,6 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
107
93
|
facts: Puppet::Util.uri_query_encode(facts_as_string),
|
108
94
|
environment: environment,
|
109
95
|
configured_environment: configured_environment || environment,
|
110
|
-
check_environment: !!check_environment,
|
111
96
|
transaction_uuid: transaction_uuid,
|
112
97
|
job_uuid: job_uuid,
|
113
98
|
static_catalog: static_catalog,
|
@@ -134,79 +119,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
134
119
|
[response, deserialize(response, Puppet::Resource::Catalog)]
|
135
120
|
end
|
136
121
|
|
137
|
-
#
|
138
|
-
# @api private
|
139
|
-
#
|
140
|
-
# Submit a POST request to request a catalog to the server using v4 endpoint
|
141
|
-
#
|
142
|
-
# @param [String] certname The name of the node for which to compile the catalog.
|
143
|
-
# @param [Hash] persistent A hash containing two required keys, facts and catalog,
|
144
|
-
# which when set to true will cause the facts and reports to be stored in
|
145
|
-
# PuppetDB, or discarded if set to false.
|
146
|
-
# @param [String] environment The name of the environment for which to compile the catalog.
|
147
|
-
# @param [Hash] facts A hash with a required values key, containing a hash of all the
|
148
|
-
# facts for the node. If not provided, Puppet will attempt to fetch facts for the node
|
149
|
-
# from PuppetDB.
|
150
|
-
# @param [Hash] trusted_facts A hash with a required values key containing a hash of
|
151
|
-
# the trusted facts for a node
|
152
|
-
# @param [String] transaction_uuid The id for tracking the catalog compilation and
|
153
|
-
# report submission.
|
154
|
-
# @param [String] job_id The id of the orchestrator job that triggered this run.
|
155
|
-
# @param [Hash] options A hash of options beyond direct input to catalogs. Options:
|
156
|
-
# - prefer_requested_environment Whether to always override a node's classified
|
157
|
-
# environment with the one supplied in the request. If this is true and no environment
|
158
|
-
# is supplied, fall back to the classified environment, or finally, 'production'.
|
159
|
-
# - capture_logs Whether to return the errors and warnings that occurred during
|
160
|
-
# compilation alongside the catalog in the response body.
|
161
|
-
# - log_level The logging level to use during the compile when capture_logs is true.
|
162
|
-
# Options are 'err', 'warning', 'info', and 'debug'.
|
163
|
-
#
|
164
|
-
# @return [Array<Puppet::HTTP::Response, Puppet::Resource::Catalog, Array<String>>] An array
|
165
|
-
# containing the request response, the deserialized catalog returned by
|
166
|
-
# the server and array containing logs (log array will be empty if capture_logs is false)
|
167
|
-
#
|
168
|
-
def post_catalog4(certname, persistence:, environment:, facts: nil, trusted_facts: nil, transaction_uuid: nil, job_id: nil, options: nil)
|
169
|
-
unless persistence.is_a?(Hash) && (missing = [:facts, :catalog] - persistence.keys.map(&:to_sym)).empty?
|
170
|
-
raise ArgumentError.new("The 'persistence' hash is missing the keys: #{missing.join(', ')}")
|
171
|
-
end
|
172
|
-
raise ArgumentError.new("Facts must be a Hash not a #{facts.class}") unless facts.nil? || facts.is_a?(Hash)
|
173
|
-
body = {
|
174
|
-
certname: certname,
|
175
|
-
persistence: persistence,
|
176
|
-
environment: environment,
|
177
|
-
transaction_uuid: transaction_uuid,
|
178
|
-
job_id: job_id,
|
179
|
-
options: options
|
180
|
-
}
|
181
|
-
body[:facts] = { values: facts } unless facts.nil?
|
182
|
-
body[:trusted_facts] = { values: trusted_facts } unless trusted_facts.nil?
|
183
|
-
headers = add_puppet_headers(
|
184
|
-
'Accept' => get_mime_types(Puppet::Resource::Catalog).join(', '),
|
185
|
-
'Content-Type' => 'application/json'
|
186
|
-
)
|
187
|
-
|
188
|
-
url = URI::HTTPS.build(host: @url.host, port: @url.port, path: Puppet::Util.uri_encode("/puppet/v4/catalog"))
|
189
|
-
response = @client.post(
|
190
|
-
url,
|
191
|
-
body.to_json,
|
192
|
-
headers: headers
|
193
|
-
)
|
194
|
-
process_response(response)
|
195
|
-
begin
|
196
|
-
response_body = JSON.parse(response.body)
|
197
|
-
catalog = Puppet::Resource::Catalog.from_data_hash(response_body['catalog'])
|
198
|
-
rescue => err
|
199
|
-
raise Puppet::HTTP::SerializationError.new("Failed to deserialize catalog from puppetserver response: #{err.message}", err)
|
200
|
-
end
|
201
|
-
|
202
|
-
logs = response_body['logs'] || []
|
203
|
-
[response, catalog, logs]
|
204
|
-
end
|
205
|
-
|
206
|
-
#
|
207
|
-
# @api private
|
208
|
-
#
|
209
|
-
# Submit a GET request to retrieve the facts for the named node
|
122
|
+
# Submit a GET request to retrieve the facts for the named node.
|
210
123
|
#
|
211
124
|
# @param [String] name Name of the node to retrieve facts for
|
212
125
|
# @param [String] environment Name of the environment we are operating in
|
@@ -215,6 +128,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
215
128
|
# containing the request response and the deserialized facts for the
|
216
129
|
# specified node
|
217
130
|
#
|
131
|
+
# @api public
|
218
132
|
def get_facts(name, environment:)
|
219
133
|
headers = add_puppet_headers('Accept' => get_mime_types(Puppet::Node::Facts).join(', '))
|
220
134
|
|
@@ -229,10 +143,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
229
143
|
[response, deserialize(response, Puppet::Node::Facts)]
|
230
144
|
end
|
231
145
|
|
232
|
-
#
|
233
|
-
# @api private
|
234
|
-
#
|
235
|
-
# Submits a PUT request to submit facts for the node to the server
|
146
|
+
# Submits a PUT request to submit facts for the node to the server.
|
236
147
|
#
|
237
148
|
# @param [String] name Name of the node we are submitting facts for
|
238
149
|
# @param [String] environment Name of the environment we are operating in
|
@@ -240,6 +151,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
240
151
|
#
|
241
152
|
# @return [Puppet::HTTP::Response] The request response
|
242
153
|
#
|
154
|
+
# @api public
|
243
155
|
def put_facts(name, environment:, facts:)
|
244
156
|
formatter = Puppet::Network::FormatHandler.format_for(Puppet[:preferred_serialization_format])
|
245
157
|
|
@@ -260,39 +172,9 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
260
172
|
response
|
261
173
|
end
|
262
174
|
|
175
|
+
# Submit a GET request to retrieve a file stored with filebucket.
|
263
176
|
#
|
264
|
-
# @
|
265
|
-
#
|
266
|
-
# Submit a GET request to find the status of a compiler
|
267
|
-
#
|
268
|
-
# @param [String] name The name of the node that a status being requested for
|
269
|
-
#
|
270
|
-
# @return [Array<Puppet::HTTP::Response, Puppet::Status>] An array containing
|
271
|
-
# the request response and the deserialized status returned from the server
|
272
|
-
#
|
273
|
-
def get_status(name)
|
274
|
-
headers = add_puppet_headers('Accept' => get_mime_types(Puppet::Status).join(', '))
|
275
|
-
|
276
|
-
response = @client.get(
|
277
|
-
with_base_url("/status/#{name}"),
|
278
|
-
headers: headers,
|
279
|
-
params: {
|
280
|
-
# environment is required, but meaningless, default to production
|
281
|
-
environment: 'production'
|
282
|
-
},
|
283
|
-
)
|
284
|
-
|
285
|
-
process_response(response)
|
286
|
-
|
287
|
-
[response, deserialize(response, Puppet::Status)]
|
288
|
-
end
|
289
|
-
|
290
|
-
#
|
291
|
-
# @api private
|
292
|
-
#
|
293
|
-
# Submit a GET request to retrieve a file stored with filebucket
|
294
|
-
#
|
295
|
-
# @param [String] path The request path, formatted by Puppet::FileBucket::Dipper
|
177
|
+
# @param [String] path The request path, formatted by `Puppet::FileBucket::Dipper`
|
296
178
|
# @param [String] environment Name of the environment we are operating in.
|
297
179
|
# This should not impact filebucket at all, but is included to be consistent
|
298
180
|
# with legacy code.
|
@@ -307,6 +189,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
307
189
|
# containing the request response and the deserialized file returned from
|
308
190
|
# the server.
|
309
191
|
#
|
192
|
+
# @api public
|
310
193
|
def get_filebucket_file(path, environment:, bucket_path: nil, diff_with: nil, list_all: nil, fromdate: nil, todate: nil)
|
311
194
|
headers = add_puppet_headers('Accept' => 'application/octet-stream')
|
312
195
|
|
@@ -328,12 +211,9 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
328
211
|
[response, deserialize(response, Puppet::FileBucket::File)]
|
329
212
|
end
|
330
213
|
|
214
|
+
# Submit a PUT request to store a file with filebucket.
|
331
215
|
#
|
332
|
-
# @
|
333
|
-
#
|
334
|
-
# Submit a PUT request to store a file with filebucket
|
335
|
-
#
|
336
|
-
# @param [String] path The request path, formatted by Puppet::FileBucket::Dipper
|
216
|
+
# @param [String] path The request path, formatted by `Puppet::FileBucket::Dipper`
|
337
217
|
# @param [String] body The contents of the file to be backed
|
338
218
|
# @param [String] environment Name of the environment we are operating in.
|
339
219
|
# This should not impact filebucket at all, but is included to be consistent
|
@@ -341,6 +221,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
341
221
|
#
|
342
222
|
# @return [Puppet::HTTP::Response] The response request
|
343
223
|
#
|
224
|
+
# @api public
|
344
225
|
def put_filebucket_file(path, body:, environment:)
|
345
226
|
headers = add_puppet_headers({
|
346
227
|
'Accept' => 'application/octet-stream',
|
@@ -361,12 +242,9 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
361
242
|
response
|
362
243
|
end
|
363
244
|
|
245
|
+
# Submit a HEAD request to check the status of a file stored with filebucket.
|
364
246
|
#
|
365
|
-
# @
|
366
|
-
#
|
367
|
-
# Submit a HEAD request to check the status of a file stored with filebucket
|
368
|
-
#
|
369
|
-
# @param [String] path The request path, formatted by Puppet::FileBucket::Dipper
|
247
|
+
# @param [String] path The request path, formatted by `Puppet::FileBucket::Dipper`
|
370
248
|
# @param [String] environment Name of the environment we are operating in.
|
371
249
|
# This should not impact filebucket at all, but is included to be consistent
|
372
250
|
# with legacy code.
|
@@ -374,6 +252,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
374
252
|
#
|
375
253
|
# @return [Puppet::HTTP::Response] The request response
|
376
254
|
#
|
255
|
+
# @api public
|
377
256
|
def head_filebucket_file(path, environment:, bucket_path: nil)
|
378
257
|
headers = add_puppet_headers('Accept' => 'application/octet-stream')
|
379
258
|
|