puppet 6.20.0-x64-mingw32 → 7.4.0-x64-mingw32
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/Gemfile +1 -4
- data/Gemfile.lock +13 -13
- data/README.md +1 -1
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -2
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/filebucket.rb +13 -9
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +27 -29
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +57 -162
- data/lib/puppet/environments.rb +8 -23
- data/lib/puppet/face/facts.rb +73 -49
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +8 -0
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/windows.rb +12 -0
- 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/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +6 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/http/client.rb +164 -114
- 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 -11
- 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 -12
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/resolver/server_list.rb +6 -10
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- 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.rb +12 -26
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +22 -69
- data/lib/puppet/http/service/file_server.rb +18 -27
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/facts/facter.rb +25 -3
- 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 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- 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/rest.rb +12 -263
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +67 -0
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- 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_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +3 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- 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/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/factory.rb +0 -45
- 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 +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- 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.rb +0 -13
- data/lib/puppet/provider/group/groupadd.rb +13 -8
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +30 -2
- data/lib/puppet/provider/package/aptitude.rb +6 -0
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/service/debian.rb +2 -0
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/provider/user/useradd.rb +55 -8
- data/lib/puppet/reference/configuration.rb +7 -5
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +45 -33
- 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/ssl.rb +10 -6
- 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/test/test_helper.rb +1 -3
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/transaction/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/file.rb +5 -7
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- 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/windows.rb +3 -8
- 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/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +521 -1226
- data/man/man5/puppet.conf.5 +35 -95
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +57 -36
- 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 +1 -58
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/integration/application/agent_spec.rb +57 -11
- data/spec/integration/application/apply_spec.rb +1 -1
- data/spec/integration/application/filebucket_spec.rb +16 -16
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/plugin_spec.rb +23 -1
- data/spec/integration/defaults_spec.rb +7 -3
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
- 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 -37
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/puppet_spec/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/facts_spec.rb +86 -0
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/ssl_spec.rb +2 -2
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +12 -9
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +22 -47
- data/spec/unit/environments_spec.rb +0 -3
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +14 -2
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +22 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- 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/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -8
- 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 -11
- 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 -62
- 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/facts/facter_spec.rb +113 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- 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/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/rest_spec.rb +98 -752
- 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 +45 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -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/functions/create_resources_spec.rb +2 -20
- 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_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 -1
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
- 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/provider/group/groupadd_spec.rb +5 -2
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- data/spec/unit/provider/package/apt_spec.rb +24 -15
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/windows_spec.rb +0 -1
- data/spec/unit/provider/user/useradd_spec.rb +55 -3
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +0 -56
- 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 +17 -0
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +19 -55
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- 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 +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -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/source_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/run_mode_spec.rb +21 -121
- 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 +0 -18
- metadata +48 -219
- data/conf/auth.conf +0 -150
- 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/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.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- 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/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.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/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 -62
- 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.rb +0 -122
- 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/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/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- 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/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 -422
- 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/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/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
|
@@ -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,10 +53,7 @@ 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
|
@@ -77,14 +68,13 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
77
68
|
# @param [Boolean] static_catalog Indicates if the file metadata(s) are inlined
|
78
69
|
# in the catalog. This informs the agent if it needs to make a second request
|
79
70
|
# to retrieve metadata in addition to the initial catalog request.
|
80
|
-
# @param [Array<String>] checksum_type An array of accepted checksum
|
81
|
-
# Currently defaults to `["md5", "sha256", "sha384", "sha512", "sha224"]`,
|
82
|
-
# or `["sha256", "sha384", "sha512", "sha224"]` if fips is enabled.
|
71
|
+
# @param [Array<String>] checksum_type An array of accepted checksum types.
|
83
72
|
#
|
84
73
|
# @return [Array<Puppet::HTTP::Response, Puppet::Resource::Catalog>] An array
|
85
74
|
# containing the request response and the deserialized catalog returned by
|
86
75
|
# the server
|
87
76
|
#
|
77
|
+
# @api public
|
88
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])
|
89
79
|
if Puppet[:preferred_serialization_format] == "pson"
|
90
80
|
formatter = Puppet::Network::FormatHandler.format_for(:pson)
|
@@ -129,10 +119,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
129
119
|
[response, deserialize(response, Puppet::Resource::Catalog)]
|
130
120
|
end
|
131
121
|
|
132
|
-
#
|
133
|
-
# @api private
|
134
|
-
#
|
135
|
-
# 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.
|
136
123
|
#
|
137
124
|
# @param [String] name Name of the node to retrieve facts for
|
138
125
|
# @param [String] environment Name of the environment we are operating in
|
@@ -141,6 +128,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
141
128
|
# containing the request response and the deserialized facts for the
|
142
129
|
# specified node
|
143
130
|
#
|
131
|
+
# @api public
|
144
132
|
def get_facts(name, environment:)
|
145
133
|
headers = add_puppet_headers('Accept' => get_mime_types(Puppet::Node::Facts).join(', '))
|
146
134
|
|
@@ -155,10 +143,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
155
143
|
[response, deserialize(response, Puppet::Node::Facts)]
|
156
144
|
end
|
157
145
|
|
158
|
-
#
|
159
|
-
# @api private
|
160
|
-
#
|
161
|
-
# 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.
|
162
147
|
#
|
163
148
|
# @param [String] name Name of the node we are submitting facts for
|
164
149
|
# @param [String] environment Name of the environment we are operating in
|
@@ -166,6 +151,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
166
151
|
#
|
167
152
|
# @return [Puppet::HTTP::Response] The request response
|
168
153
|
#
|
154
|
+
# @api public
|
169
155
|
def put_facts(name, environment:, facts:)
|
170
156
|
formatter = Puppet::Network::FormatHandler.format_for(Puppet[:preferred_serialization_format])
|
171
157
|
|
@@ -186,39 +172,9 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
186
172
|
response
|
187
173
|
end
|
188
174
|
|
175
|
+
# Submit a GET request to retrieve a file stored with filebucket.
|
189
176
|
#
|
190
|
-
# @
|
191
|
-
#
|
192
|
-
# Submit a GET request to find the status of a compiler
|
193
|
-
#
|
194
|
-
# @param [String] name The name of the node that a status being requested for
|
195
|
-
#
|
196
|
-
# @return [Array<Puppet::HTTP::Response, Puppet::Status>] An array containing
|
197
|
-
# the request response and the deserialized status returned from the server
|
198
|
-
#
|
199
|
-
def get_status(name)
|
200
|
-
headers = add_puppet_headers('Accept' => get_mime_types(Puppet::Status).join(', '))
|
201
|
-
|
202
|
-
response = @client.get(
|
203
|
-
with_base_url("/status/#{name}"),
|
204
|
-
headers: headers,
|
205
|
-
params: {
|
206
|
-
# environment is required, but meaningless, default to production
|
207
|
-
environment: 'production'
|
208
|
-
},
|
209
|
-
)
|
210
|
-
|
211
|
-
process_response(response)
|
212
|
-
|
213
|
-
[response, deserialize(response, Puppet::Status)]
|
214
|
-
end
|
215
|
-
|
216
|
-
#
|
217
|
-
# @api private
|
218
|
-
#
|
219
|
-
# Submit a GET request to retrieve a file stored with filebucket
|
220
|
-
#
|
221
|
-
# @param [String] path The request path, formatted by Puppet::FileBucket::Dipper
|
177
|
+
# @param [String] path The request path, formatted by `Puppet::FileBucket::Dipper`
|
222
178
|
# @param [String] environment Name of the environment we are operating in.
|
223
179
|
# This should not impact filebucket at all, but is included to be consistent
|
224
180
|
# with legacy code.
|
@@ -233,6 +189,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
233
189
|
# containing the request response and the deserialized file returned from
|
234
190
|
# the server.
|
235
191
|
#
|
192
|
+
# @api public
|
236
193
|
def get_filebucket_file(path, environment:, bucket_path: nil, diff_with: nil, list_all: nil, fromdate: nil, todate: nil)
|
237
194
|
headers = add_puppet_headers('Accept' => 'application/octet-stream')
|
238
195
|
|
@@ -254,12 +211,9 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
254
211
|
[response, deserialize(response, Puppet::FileBucket::File)]
|
255
212
|
end
|
256
213
|
|
214
|
+
# Submit a PUT request to store a file with filebucket.
|
257
215
|
#
|
258
|
-
# @
|
259
|
-
#
|
260
|
-
# Submit a PUT request to store a file with filebucket
|
261
|
-
#
|
262
|
-
# @param [String] path The request path, formatted by Puppet::FileBucket::Dipper
|
216
|
+
# @param [String] path The request path, formatted by `Puppet::FileBucket::Dipper`
|
263
217
|
# @param [String] body The contents of the file to be backed
|
264
218
|
# @param [String] environment Name of the environment we are operating in.
|
265
219
|
# This should not impact filebucket at all, but is included to be consistent
|
@@ -267,6 +221,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
267
221
|
#
|
268
222
|
# @return [Puppet::HTTP::Response] The response request
|
269
223
|
#
|
224
|
+
# @api public
|
270
225
|
def put_filebucket_file(path, body:, environment:)
|
271
226
|
headers = add_puppet_headers({
|
272
227
|
'Accept' => 'application/octet-stream',
|
@@ -287,12 +242,9 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
287
242
|
response
|
288
243
|
end
|
289
244
|
|
245
|
+
# Submit a HEAD request to check the status of a file stored with filebucket.
|
290
246
|
#
|
291
|
-
# @
|
292
|
-
#
|
293
|
-
# Submit a HEAD request to check the status of a file stored with filebucket
|
294
|
-
#
|
295
|
-
# @param [String] path The request path, formatted by Puppet::FileBucket::Dipper
|
247
|
+
# @param [String] path The request path, formatted by `Puppet::FileBucket::Dipper`
|
296
248
|
# @param [String] environment Name of the environment we are operating in.
|
297
249
|
# This should not impact filebucket at all, but is included to be consistent
|
298
250
|
# with legacy code.
|
@@ -300,6 +252,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
|
|
300
252
|
#
|
301
253
|
# @return [Puppet::HTTP::Response] The request response
|
302
254
|
#
|
255
|
+
# @api public
|
303
256
|
def head_filebucket_file(path, environment:, bucket_path: nil)
|
304
257
|
headers = add_puppet_headers('Accept' => 'application/octet-stream')
|
305
258
|
|
@@ -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,6 +96,8 @@ 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
|
#
|
99
|
+
# @api public
|
100
|
+
#
|
109
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
|
|
@@ -130,10 +122,7 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
130
122
|
[response, deserialize_multiple(response, Puppet::FileServing::Metadata)]
|
131
123
|
end
|
132
124
|
|
133
|
-
#
|
134
|
-
# @api private
|
135
|
-
#
|
136
|
-
# 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.
|
137
126
|
#
|
138
127
|
# @param [String] path path to the file to retrieve data from
|
139
128
|
# @param [String] environment the name of the environment we are operating in
|
@@ -142,6 +131,8 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
142
131
|
#
|
143
132
|
# @return [Puppet::HTTP::Response] The request response
|
144
133
|
#
|
134
|
+
# @api public
|
135
|
+
#
|
145
136
|
def get_file_content(path:, environment:, &block)
|
146
137
|
validate_path(path)
|
147
138
|
|
@@ -163,10 +154,8 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
163
154
|
response
|
164
155
|
end
|
165
156
|
|
166
|
-
#
|
167
|
-
#
|
168
|
-
#
|
169
|
-
# 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`).
|
170
159
|
#
|
171
160
|
# @param [String] path path to the file to retrieve data from
|
172
161
|
# @param [String] environment the name of the environment we are operating in
|
@@ -176,6 +165,8 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
|
|
176
165
|
#
|
177
166
|
# @return [Puppet::HTTP::Response] The request response
|
178
167
|
#
|
168
|
+
# @api public
|
169
|
+
#
|
179
170
|
def get_static_file_content(path:, environment:, code_id:, &block)
|
180
171
|
validate_path(path)
|
181
172
|
|