puppet 6.16.0-x64-mingw32 → 7.0.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 +5 -3
- data/Gemfile.lock +31 -33
- data/README.md +4 -5
- data/Rakefile +4 -12
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +1 -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/agent.rb +2 -2
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/agent.rb +22 -6
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +66 -31
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/defaults.rb +166 -169
- data/lib/puppet/environments.rb +41 -15
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +56 -16
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +66 -6
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/feature/base.rb +1 -1
- 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_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +3 -32
- data/lib/puppet/file_serving/http_metadata.rb +13 -1
- data/lib/puppet/file_serving/metadata.rb +4 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_serving/terminus_selector.rb +7 -8
- data/lib/puppet/file_system/file_impl.rb +4 -4
- data/lib/puppet/file_system/uniquefile.rb +8 -16
- data/lib/puppet/forge.rb +1 -1
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/repository.rb +3 -8
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/rstrip.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/functions/strip.rb +4 -4
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +23 -13
- data/lib/puppet/http/client.rb +170 -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 -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 +13 -19
- data/lib/puppet/http/resolver.rb +10 -23
- data/lib/puppet/http/resolver/server_list.rb +23 -45
- data/lib/puppet/http/resolver/settings.rb +7 -10
- data/lib/puppet/http/resolver/srv.rb +11 -15
- data/lib/puppet/http/response.rb +49 -48
- 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 +15 -27
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -70
- data/lib/puppet/http/service/file_server.rb +19 -28
- data/lib/puppet/http/service/puppetserver.rb +53 -0
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +16 -24
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +27 -6
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/facts/yaml.rb +4 -59
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +3 -7
- data/lib/puppet/indirector/file_metadata/http.rb +25 -5
- data/lib/puppet/indirector/file_metadata/rest.rb +5 -11
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +2 -103
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/module.rb +1 -2
- 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/format_support.rb +2 -2
- data/lib/puppet/network/formats.rb +2 -1
- data/lib/puppet/network/http.rb +3 -3
- 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/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/node/environment.rb +12 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +93 -14
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/leaf.rb +5 -5
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -42
- data/lib/puppet/parser/compiler.rb +1 -199
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/functions.rb +21 -17
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/resource.rb +3 -71
- data/lib/puppet/parser/resource/param.rb +6 -0
- data/lib/puppet/parser/type_loader.rb +2 -2
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +27 -13
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- 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/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
- data/lib/puppet/pops/loaders.rb +18 -11
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- 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 -22
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- 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 +28 -42
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/provider.rb +0 -13
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +34 -0
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +1 -11
- data/lib/puppet/provider/package/gem.rb +27 -5
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pip2.rb +17 -0
- 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 +6 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +2 -1
- data/lib/puppet/provider/package/zypper.rb +3 -0
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/service/windows.rb +23 -7
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +11 -4
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reference/configuration.rb +2 -0
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reports/http.rb +2 -0
- data/lib/puppet/resource.rb +3 -90
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +5 -112
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +84 -35
- data/lib/puppet/settings/base_setting.rb +26 -2
- 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_context.rb +2 -2
- data/lib/puppet/ssl/ssl_provider.rb +37 -1
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +19 -16
- data/lib/puppet/transaction.rb +3 -9
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +10 -8
- data/lib/puppet/trusted_external.rb +29 -1
- data/lib/puppet/type.rb +9 -77
- data/lib/puppet/type/file.rb +45 -22
- data/lib/puppet/type/file/checksum.rb +5 -5
- data/lib/puppet/type/file/source.rb +33 -13
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/service.rb +53 -0
- data/lib/puppet/type/user.rb +18 -3
- data/lib/puppet/util.rb +41 -3
- data/lib/puppet/util/autoload.rb +9 -7
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/checksums.rb +19 -4
- data/lib/puppet/util/execution.rb +2 -13
- data/lib/puppet/util/fileparsing.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +14 -2
- data/lib/puppet/util/windows.rb +3 -7
- 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 +5 -15
- 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 +8 -6
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/security.rb +4 -4
- data/lib/puppet/util/windows/service.rb +52 -486
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +242 -8
- 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 +713 -1380
- data/man/man5/puppet.conf.5 +84 -98
- data/man/man8/puppet-agent.8 +7 -4
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- 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 +55 -9
- data/man/man8/puppet-filebucket.8 +6 -6
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +2 -2
- data/man/man8/puppet-module.8 +1 -58
- data/man/man8/puppet-node.8 +7 -4
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -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/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/integration/application/agent_spec.rb +157 -59
- data/spec/integration/application/apply_spec.rb +150 -150
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +78 -29
- data/spec/integration/application/help_spec.rb +44 -0
- data/spec/integration/application/lookup_spec.rb +13 -0
- data/spec/integration/application/module_spec.rb +68 -0
- data/spec/integration/application/plugin_spec.rb +76 -4
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +33 -5
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/network/http_pool_spec.rb +29 -30
- data/spec/integration/node/environment_spec.rb +1 -1
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/compiler_spec.rb +11 -0
- 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 +6 -5
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +2 -2
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/registry_spec.rb +7 -7
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/integration/util/windows/user_spec.rb +47 -5
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +9 -1
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/agent_spec.rb +3 -4
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +74 -8
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +17 -4
- data/spec/unit/application_spec.rb +9 -4
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +14 -0
- data/spec/unit/configurer/fact_handler_spec.rb +4 -4
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +96 -44
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +12 -10
- data/spec/unit/defaults_spec.rb +77 -28
- data/spec/unit/environments_spec.rb +96 -32
- data/spec/unit/face/config_spec.rb +65 -12
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +2 -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 +14 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/file_serving/http_metadata_spec.rb +37 -14
- data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/file_serving/terminus_selector_spec.rb +45 -26
- data/spec/unit/file_system/uniquefile_spec.rb +18 -0
- data/spec/unit/file_system_spec.rb +1 -2
- 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/inline_epp_spec.rb +26 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +71 -17
- 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 +34 -15
- data/spec/unit/http/response_spec.rb +6 -0
- data/spec/unit/http/service/ca_spec.rb +2 -3
- data/spec/unit/http/service/compiler_spec.rb +51 -65
- data/spec/unit/http/service/file_server_spec.rb +5 -6
- data/spec/unit/http/service/puppetserver_spec.rb +112 -0
- data/spec/unit/http/service/report_spec.rb +2 -3
- data/spec/unit/http/service_spec.rb +1 -3
- data/spec/unit/http/session_spec.rb +24 -35
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/facter_spec.rb +97 -0
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- 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/http_spec.rb +27 -0
- 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/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +3 -267
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/formats_spec.rb +4 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +3 -98
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- 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 +61 -73
- data/spec/unit/network/http/handler_spec.rb +0 -6
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +51 -22
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/ast/block_expression_spec.rb +1 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/scope_spec.rb +1 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +19 -8
- data/spec/unit/pops/loaders/loaders_spec.rb +77 -22
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- 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 +7 -17
- 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/exec_spec.rb +4 -3
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- data/spec/unit/provider/package/apt_spec.rb +77 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dpkg_spec.rb +22 -55
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +6 -2
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/provider/package/zypper_spec.rb +14 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +45 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +402 -166
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +3 -6
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/service/windows_spec.rb +50 -15
- data/spec/unit/provider/user/openbsd_spec.rb +1 -0
- data/spec/unit/provider/user/useradd_spec.rb +22 -16
- data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/puppet_pal_2pec.rb +40 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/reports/store_spec.rb +17 -13
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +3 -59
- 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 +586 -239
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +15 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +78 -49
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +3 -3
- 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 +4 -5
- data/spec/unit/type/file_spec.rb +134 -102
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +209 -0
- data/spec/unit/type/user_spec.rb +31 -2
- data/spec/unit/type_spec.rb +70 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/checksums_spec.rb +16 -0
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +27 -127
- data/spec/unit/util/windows/api_types_spec.rb +104 -40
- data/spec/unit/util/windows/service_spec.rb +4 -4
- 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 +3 -21
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- metadata +76 -270
- 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 -85
- 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 -182
- 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 -64
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -20
- data/lib/puppet/parser/environment_compiler.rb +0 -199
- 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/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -282
- 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/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- data/spec/integration/file_bucket/file_spec.rb +0 -50
- data/spec/integration/file_serving/content_spec.rb +0 -7
- data/spec/integration/file_serving/fileset_spec.rb +0 -12
- data/spec/integration/file_serving/metadata_spec.rb +0 -8
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
- data/spec/integration/file_system/uniquefile_spec.rb +0 -26
- data/spec/integration/module_tool/forge_spec.rb +0 -51
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/provider/service/init_spec.rb +0 -48
- data/spec/integration/provider/service/systemd_spec.rb +0 -25
- data/spec/integration/provider/service/windows_spec.rb +0 -50
- data/spec/integration/reference/providers_spec.rb +0 -21
- data/spec/integration/reports_spec.rb +0 -13
- data/spec/integration/ssl/certificate_request_spec.rb +0 -44
- data/spec/integration/ssl/host_spec.rb +0 -72
- data/spec/integration/ssl/key_spec.rb +0 -99
- data/spec/integration/test/test_helper_spec.rb +0 -31
- data/spec/shared_behaviours/file_serving_model.rb +0 -51
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/catalog_spec.rb +0 -6
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/module_spec.rb +0 -3
- 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 -79
- 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/man_spec.rb +0 -31
- 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 -723
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -143
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -650
- 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/face/status.rb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
require 'puppet/indirector/face'
|
2
|
-
|
3
|
-
Puppet::Indirector::Face.define(:status, '0.0.1') do
|
4
|
-
copyright "Puppet Inc.", 2011
|
5
|
-
license _("Apache 2 license; see COPYING")
|
6
|
-
|
7
|
-
summary _("View puppet server status.")
|
8
|
-
|
9
|
-
deactivate_action(:destroy)
|
10
|
-
deactivate_action(:save)
|
11
|
-
deactivate_action(:search)
|
12
|
-
|
13
|
-
find = get_action(:find)
|
14
|
-
find.default = true
|
15
|
-
find.summary _("Check status of puppet master server.")
|
16
|
-
#TRANSLATORS the string 'Puppet::Status' is a Puppet language object and should not be translated
|
17
|
-
find.returns _(<<-'EOT')
|
18
|
-
A "true" response or a low-level connection error. When used from the Ruby
|
19
|
-
API: returns a Puppet::Status object.
|
20
|
-
EOT
|
21
|
-
find.description <<-'EOT'
|
22
|
-
Checks whether a Puppet server is properly receiving and processing
|
23
|
-
HTTP requests. This action is only useful when used with '--terminus
|
24
|
-
rest'; when invoked with the `local` terminus, `find` will always
|
25
|
-
return true.
|
26
|
-
|
27
|
-
Over REST, this action will query the configured puppet master by default.
|
28
|
-
To query other servers, including puppet agent nodes started with the
|
29
|
-
<--listen> option, you can set the global <--server> and <--masterport>
|
30
|
-
options on the command line; note that agent nodes listen on port 8139.
|
31
|
-
EOT
|
32
|
-
find.short_description <<-EOT
|
33
|
-
Checks whether a Puppet server is properly receiving and processing HTTP
|
34
|
-
requests. This action is only useful when used with '--terminus rest',
|
35
|
-
and will always return true when invoked locally.
|
36
|
-
EOT
|
37
|
-
find.notes <<-'EOT'
|
38
|
-
This action requires that the server's `auth.conf` file allow find
|
39
|
-
access to the `status` REST terminus. Puppet agent does not use this
|
40
|
-
facility, and it is turned off by default. See
|
41
|
-
<https://puppet.com/docs/puppet/latest/config_file_auth.html>
|
42
|
-
for more details.
|
43
|
-
EOT
|
44
|
-
find.examples <<-'EOT'
|
45
|
-
Check the status of the configured puppet master:
|
46
|
-
|
47
|
-
$ puppet status find --terminus rest
|
48
|
-
EOT
|
49
|
-
|
50
|
-
deprecate
|
51
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'puppet/ssl/certificate'
|
2
|
-
require 'puppet/indirector/rest'
|
3
|
-
|
4
|
-
# @deprecated
|
5
|
-
class Puppet::SSL::Certificate::Rest < Puppet::Indirector::REST
|
6
|
-
desc "Find certificates over HTTP via REST."
|
7
|
-
|
8
|
-
use_server_setting(:ca_server)
|
9
|
-
use_port_setting(:ca_port)
|
10
|
-
use_srv_service(:ca)
|
11
|
-
|
12
|
-
def find(request)
|
13
|
-
result = super
|
14
|
-
return nil unless result
|
15
|
-
result.name = request.key unless result.name == request.key
|
16
|
-
result
|
17
|
-
end
|
18
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
require 'puppet/indirector/ssl_file'
|
2
|
-
require 'puppet/ssl/certificate_request'
|
3
|
-
|
4
|
-
# @deprecated
|
5
|
-
class Puppet::SSL::CertificateRequest::File < Puppet::Indirector::SslFile
|
6
|
-
desc "Manage the collection of certificate requests on disk."
|
7
|
-
|
8
|
-
store_in :requestdir
|
9
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'puppet/ssl/certificate_request'
|
2
|
-
require 'puppet/indirector/rest'
|
3
|
-
|
4
|
-
# @deprecated
|
5
|
-
class Puppet::SSL::CertificateRequest::Rest < Puppet::Indirector::REST
|
6
|
-
desc "Find and save certificate requests over HTTP via REST."
|
7
|
-
|
8
|
-
use_server_setting(:ca_server)
|
9
|
-
use_port_setting(:ca_port)
|
10
|
-
use_srv_service(:ca)
|
11
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'puppet/file_serving/metadata'
|
2
|
-
require 'puppet/indirector/generic_http'
|
3
|
-
require 'puppet/network/http'
|
4
|
-
|
5
|
-
class Puppet::Indirector::FileContent::Http < Puppet::Indirector::GenericHttp
|
6
|
-
desc "Retrieve file contents from a remote HTTP server."
|
7
|
-
|
8
|
-
include Puppet::FileServing::TerminusHelper
|
9
|
-
include Puppet::Network::HTTP::Compression.module
|
10
|
-
|
11
|
-
@http_method = :get
|
12
|
-
|
13
|
-
def initialize
|
14
|
-
Puppet.deprecation_warning(_("Puppet::Indirector::FileContent::Http is deprecated. Use Puppet::HTTP::Client instead."))
|
15
|
-
super
|
16
|
-
end
|
17
|
-
|
18
|
-
def find(request)
|
19
|
-
response = super
|
20
|
-
model.from_binary(uncompress_body(response))
|
21
|
-
end
|
22
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'puppet/indirector/ssl_file'
|
2
|
-
require 'puppet/ssl/key'
|
3
|
-
|
4
|
-
# @deprecated
|
5
|
-
class Puppet::SSL::Key::File < Puppet::Indirector::SslFile
|
6
|
-
desc "Manage SSL private and public keys on disk."
|
7
|
-
|
8
|
-
store_in :privatekeydir
|
9
|
-
|
10
|
-
def allow_remote_requests?
|
11
|
-
false
|
12
|
-
end
|
13
|
-
|
14
|
-
# Where should we store the public key?
|
15
|
-
def public_key_path(name)
|
16
|
-
File.join(Puppet[:publickeydir], name.to_s + ".pem")
|
17
|
-
end
|
18
|
-
|
19
|
-
# Remove the public key, in addition to the private key
|
20
|
-
def destroy(request)
|
21
|
-
super
|
22
|
-
|
23
|
-
key_path = Puppet::FileSystem.pathname(public_key_path(request.key))
|
24
|
-
return unless Puppet::FileSystem.exist?(key_path)
|
25
|
-
|
26
|
-
begin
|
27
|
-
Puppet::FileSystem.unlink(key_path)
|
28
|
-
rescue => detail
|
29
|
-
raise Puppet::Error, _("Could not remove %{request} public key: %{detail}") % { request: request.key, detail: detail }, detail.backtrace
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# Save the public key, in addition to the private key.
|
34
|
-
def save(request)
|
35
|
-
super
|
36
|
-
|
37
|
-
begin
|
38
|
-
# RFC 1421 states PEM is 7-bit ASCII https://tools.ietf.org/html/rfc1421
|
39
|
-
Puppet.settings.setting(:publickeydir).open_file(public_key_path(request.key), 'w:ASCII') do |f|
|
40
|
-
f.print request.instance.content.public_key.to_pem
|
41
|
-
end
|
42
|
-
rescue => detail
|
43
|
-
raise Puppet::Error, _("Could not write %{request}: %{detail}") % { request: request.key, detail: detail }, detail.backtrace
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,162 +0,0 @@
|
|
1
|
-
require 'puppet/ssl'
|
2
|
-
|
3
|
-
class Puppet::Indirector::SslFile < Puppet::Indirector::Terminus
|
4
|
-
# Specify the directory in which multiple files are stored.
|
5
|
-
def self.store_in(setting)
|
6
|
-
@directory_setting = setting
|
7
|
-
end
|
8
|
-
|
9
|
-
# Specify a single file location for storing just one file.
|
10
|
-
# This is used for things like the CRL.
|
11
|
-
def self.store_at(setting)
|
12
|
-
@file_setting = setting
|
13
|
-
end
|
14
|
-
|
15
|
-
class << self
|
16
|
-
attr_reader :directory_setting, :file_setting
|
17
|
-
end
|
18
|
-
|
19
|
-
# The full path to where we should store our files.
|
20
|
-
def self.collection_directory
|
21
|
-
return nil unless directory_setting
|
22
|
-
Puppet.settings[directory_setting]
|
23
|
-
end
|
24
|
-
|
25
|
-
# The full path to an individual file we would be managing.
|
26
|
-
def self.file_location
|
27
|
-
return nil unless file_setting
|
28
|
-
Puppet.settings[file_setting]
|
29
|
-
end
|
30
|
-
|
31
|
-
def initialize
|
32
|
-
Puppet.settings.use(:main, :ssl)
|
33
|
-
|
34
|
-
(collection_directory || file_location) or raise Puppet::DevError, _("No file or directory setting provided; terminus %{class_name} cannot function") % { class_name: self.class.name }
|
35
|
-
end
|
36
|
-
|
37
|
-
def path(name)
|
38
|
-
if name =~ Puppet::Indirector::BadNameRegexp then
|
39
|
-
Puppet.crit(_("directory traversal detected in %{indirection}: %{name}") % { indirection: self.class, name: name.inspect })
|
40
|
-
raise ArgumentError, _("invalid key")
|
41
|
-
end
|
42
|
-
|
43
|
-
if collection_directory
|
44
|
-
File.join(collection_directory, name.to_s + ".pem")
|
45
|
-
else
|
46
|
-
file_location
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
# Remove our file.
|
51
|
-
def destroy(request)
|
52
|
-
path = Puppet::FileSystem.pathname(path(request.key))
|
53
|
-
return false unless Puppet::FileSystem.exist?(path)
|
54
|
-
|
55
|
-
Puppet.notice _("Removing file %{model} %{request} at '%{path}'") % { model: model, request: request.key, path: path }
|
56
|
-
begin
|
57
|
-
Puppet::FileSystem.unlink(path)
|
58
|
-
rescue => detail
|
59
|
-
raise Puppet::Error, _("Could not remove %{request}: %{detail}") % { request: request.key, detail: detail }, detail.backtrace
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# Find the file on disk, returning an instance of the model.
|
64
|
-
def find(request)
|
65
|
-
filename = rename_files_with_uppercase(path(request.key))
|
66
|
-
|
67
|
-
filename ? create_model(request.key, filename) : nil
|
68
|
-
end
|
69
|
-
|
70
|
-
# Save our file to disk.
|
71
|
-
def save(request)
|
72
|
-
path = path(request.key)
|
73
|
-
dir = File.dirname(path)
|
74
|
-
|
75
|
-
raise Puppet::Error.new(_("Cannot save %{request}; parent directory %{dir} does not exist") % { request: request.key, dir: dir }) unless FileTest.directory?(dir)
|
76
|
-
raise Puppet::Error.new(_("Cannot save %{request}; parent directory %{dir} is not writable") % { request: request.key, dir: dir }) unless FileTest.writable?(dir)
|
77
|
-
|
78
|
-
write(request.key, path) { |f| f.print request.instance.to_s }
|
79
|
-
end
|
80
|
-
|
81
|
-
# Search for more than one file. At this point, it just returns
|
82
|
-
# an instance for every file in the directory.
|
83
|
-
def search(request)
|
84
|
-
dir = collection_directory
|
85
|
-
Dir.entries(dir).
|
86
|
-
select { |file| file =~ /\.pem$/ }.
|
87
|
-
collect { |file| create_model(file.sub(/\.pem$/, ''), File.join(dir, file)) }.
|
88
|
-
compact
|
89
|
-
end
|
90
|
-
|
91
|
-
private
|
92
|
-
|
93
|
-
def create_model(name, path)
|
94
|
-
result = model.new(name)
|
95
|
-
# calls Puppet::SSL::Base#read for subclasses of Puppet::SSL::Base
|
96
|
-
# with the exception of any overrides, like Puppet::SSL::Key
|
97
|
-
result.read(path)
|
98
|
-
result
|
99
|
-
end
|
100
|
-
|
101
|
-
# Demeterish pointers to class info.
|
102
|
-
def collection_directory
|
103
|
-
self.class.collection_directory
|
104
|
-
end
|
105
|
-
|
106
|
-
def file_location
|
107
|
-
self.class.file_location
|
108
|
-
end
|
109
|
-
|
110
|
-
# A hack method to deal with files that exist with a different case.
|
111
|
-
# Just renames it; doesn't read it in or anything.
|
112
|
-
# LAK:NOTE This is a copy of the method in sslcertificates/support.rb,
|
113
|
-
# which we'll be EOL'ing at some point. This method was added at 20080702
|
114
|
-
# and should be removed at some point.
|
115
|
-
def rename_files_with_uppercase(file)
|
116
|
-
return file if Puppet::FileSystem.exist?(file)
|
117
|
-
|
118
|
-
dir, short = File.split(file)
|
119
|
-
return nil unless Puppet::FileSystem.exist?(dir)
|
120
|
-
|
121
|
-
raise ArgumentError, _("Tried to fix SSL files to a file containing uppercase") unless short.downcase == short
|
122
|
-
real_file = Dir.entries(dir).reject { |f| f =~ /^\./ }.find do |other|
|
123
|
-
other.downcase == short
|
124
|
-
end
|
125
|
-
|
126
|
-
return nil unless real_file
|
127
|
-
|
128
|
-
full_file = File.join(dir, real_file)
|
129
|
-
|
130
|
-
Puppet.deprecation_warning _("Automatic downcasing and renaming of ssl files is deprecated; please request the file using its correct case: %{full_file}") % { full_file: full_file }
|
131
|
-
File.rename(full_file, file)
|
132
|
-
|
133
|
-
file
|
134
|
-
end
|
135
|
-
|
136
|
-
# Yield a filehandle set up appropriately, either with our settings doing
|
137
|
-
# the work or opening a filehandle manually.
|
138
|
-
def write(name, path)
|
139
|
-
# All types serialized to disk contain only ASCII content:
|
140
|
-
# * SSL::Key may be a .export(OpenSSL::Cipher::DES.new(:EDE3, :CBC), pass) or .to_pem
|
141
|
-
# * All other classes are translated to strings by calling .to_pem
|
142
|
-
if file_location
|
143
|
-
Puppet.settings.setting(self.class.file_setting).open('w:ASCII') { |f| yield f }
|
144
|
-
else
|
145
|
-
setting = self.class.directory_setting
|
146
|
-
if setting
|
147
|
-
begin
|
148
|
-
Puppet.settings.setting(setting).open_file(path, 'w:ASCII') { |f| yield f }
|
149
|
-
rescue => detail
|
150
|
-
raise Puppet::Error, _("Could not write %{path} to %{setting}: %{detail}") % { path: path, setting: setting, detail: detail }, detail.backtrace
|
151
|
-
end
|
152
|
-
else
|
153
|
-
raise Puppet::DevError, _("You must provide a setting to determine where the files are stored")
|
154
|
-
end
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
# LAK:NOTE This has to be at the end, because classes like SSL::Key use this
|
160
|
-
# class, and this require statement loads those, which results in a load loop
|
161
|
-
# and lots of failures.
|
162
|
-
require 'puppet/ssl/host'
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'puppet/indirector/status'
|
2
|
-
|
3
|
-
class Puppet::Indirector::Status::Local < Puppet::Indirector::Code
|
4
|
-
|
5
|
-
desc "Get status locally. Only used internally."
|
6
|
-
|
7
|
-
def find( *anything )
|
8
|
-
status = model.new
|
9
|
-
status.version= Puppet.version
|
10
|
-
status
|
11
|
-
end
|
12
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'puppet/indirector/status'
|
2
|
-
require 'puppet/indirector/rest'
|
3
|
-
|
4
|
-
class Puppet::Indirector::Status::Rest < Puppet::Indirector::REST
|
5
|
-
|
6
|
-
desc "Get puppet master's status via REST. Useful because it tests the health
|
7
|
-
of both the web server and the indirector."
|
8
|
-
|
9
|
-
def find(request)
|
10
|
-
return super unless use_http_client?
|
11
|
-
|
12
|
-
session = Puppet.lookup(:http_session)
|
13
|
-
api = session.route_to(:puppet)
|
14
|
-
_, status = api.get_status(request.key)
|
15
|
-
status
|
16
|
-
rescue Puppet::HTTP::ResponseError => e
|
17
|
-
if e.response.code == 404
|
18
|
-
return nil unless request.options[:fail_on_404]
|
19
|
-
|
20
|
-
_, body = parse_response(e.response.nethttp)
|
21
|
-
msg = _("Find %{uri} resulted in 404 with the message: %{body}") % { uri: elide(e.response.url.path, 100), body: body }
|
22
|
-
raise Puppet::Error, msg
|
23
|
-
else
|
24
|
-
raise convert_to_http_error(e.response.nethttp)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Puppet::ModuleTool
|
2
|
-
module Applications
|
3
|
-
class Searcher < Application
|
4
|
-
include Puppet::Forge::Errors
|
5
|
-
|
6
|
-
def initialize(term, forge, options = {})
|
7
|
-
@term = term
|
8
|
-
@forge = forge
|
9
|
-
super(options)
|
10
|
-
end
|
11
|
-
|
12
|
-
def run
|
13
|
-
results = {}
|
14
|
-
begin
|
15
|
-
Puppet.notice _("Searching %{host} ...") % { host: @forge.host }
|
16
|
-
results[:answers] = @forge.search(@term)
|
17
|
-
results[:result] = :success
|
18
|
-
rescue ForgeError => e
|
19
|
-
results[:result] = :failure
|
20
|
-
results[:error] = {
|
21
|
-
:oneline => e.message,
|
22
|
-
:multiline => e.multiline,
|
23
|
-
}
|
24
|
-
end
|
25
|
-
results
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,90 +0,0 @@
|
|
1
|
-
require 'puppet/network/rights'
|
2
|
-
|
3
|
-
module Puppet::Network
|
4
|
-
class AuthConfigParser
|
5
|
-
|
6
|
-
def self.new_from_file(file)
|
7
|
-
self.new(Puppet::FileSystem.read(file, :encoding => 'utf-8'))
|
8
|
-
end
|
9
|
-
|
10
|
-
def initialize(string)
|
11
|
-
@string = string
|
12
|
-
end
|
13
|
-
|
14
|
-
def parse
|
15
|
-
Puppet::Network::AuthConfig.new(parse_rights)
|
16
|
-
end
|
17
|
-
|
18
|
-
def parse_rights
|
19
|
-
rights = Puppet::Network::Rights.new
|
20
|
-
right = nil
|
21
|
-
count = 1
|
22
|
-
@string.each_line { |line|
|
23
|
-
case line.chomp
|
24
|
-
when /^\s*#/, /^\s*$/
|
25
|
-
# skip comments and blank lines
|
26
|
-
when /^path\s+((?:~\s+)?[^ ]+)\s*$/ # "path /path" or "path ~ regex"
|
27
|
-
name = $1.chomp
|
28
|
-
right = rights.newright(name, count, @file)
|
29
|
-
when /^\s*(allow(?:_ip)?|deny(?:_ip)?|method|environment|auth(?:enticated)?)\s+(.+?)(\s*#.*)?$/
|
30
|
-
if right.nil?
|
31
|
-
#TRANSLATORS "path" is a configuration file entry and should not be translated
|
32
|
-
raise Puppet::ConfigurationError, _("Missing or invalid 'path' before right directive at %{error_location}") %
|
33
|
-
{ error_location: Puppet::Util::Errors.error_location(@file, count) }
|
34
|
-
end
|
35
|
-
parse_right_directive(right, $1, $2, count)
|
36
|
-
else
|
37
|
-
error_location_str = Puppet::Util::Errors.error_location(nil, count)
|
38
|
-
raise Puppet::ConfigurationError, _("Invalid entry at %{error_location}: %{file_text}") %
|
39
|
-
{ error_location: error_location_str, file_text: line }
|
40
|
-
end
|
41
|
-
count += 1
|
42
|
-
}
|
43
|
-
|
44
|
-
# Verify each of the rights are valid.
|
45
|
-
# We let the check raise an error, so that it can raise an error
|
46
|
-
# pointing to the specific problem.
|
47
|
-
rights.each { |name, r|
|
48
|
-
r.valid?
|
49
|
-
}
|
50
|
-
rights
|
51
|
-
end
|
52
|
-
|
53
|
-
def parse_right_directive(right, var, value, count)
|
54
|
-
value.strip!
|
55
|
-
case var
|
56
|
-
when "allow"
|
57
|
-
modify_right(right, :allow, value, _("allowing %{value} access"), count)
|
58
|
-
when "deny"
|
59
|
-
modify_right(right, :deny, value, _("denying %{value} access"), count)
|
60
|
-
when "allow_ip"
|
61
|
-
modify_right(right, :allow_ip, value, _("allowing IP %{value} access"), count)
|
62
|
-
when "deny_ip"
|
63
|
-
modify_right(right, :deny_ip, value, _("denying IP %{value} access"), count)
|
64
|
-
when "method"
|
65
|
-
modify_right(right, :restrict_method, value, _("allowing 'method' %{value}"), count)
|
66
|
-
when "environment"
|
67
|
-
modify_right(right, :restrict_environment, value, _("adding environment %{value}"), count)
|
68
|
-
when /auth(?:enticated)?/
|
69
|
-
modify_right(right, :restrict_authenticated, value, _("adding authentication %{value}"), count)
|
70
|
-
else
|
71
|
-
error_location_str = Puppet::Util::Errors.error_location(nil, count)
|
72
|
-
raise Puppet::ConfigurationError, _("Invalid argument '%{var}' at %{error_location}") %
|
73
|
-
{ var: var, error_location: error_location_str }
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
def modify_right(right, method, value, msg, count)
|
78
|
-
value.split(/\s*,\s*/).each do |val|
|
79
|
-
begin
|
80
|
-
val.strip!
|
81
|
-
right.info msg % { value: val }
|
82
|
-
right.send(method, val)
|
83
|
-
rescue Puppet::AuthStoreError => detail
|
84
|
-
error_location_str = Puppet::Util::Errors.error_location(@file, count)
|
85
|
-
raise Puppet::ConfigurationError, "#{detail} #{error_location_str}", detail.backtrace
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|