puppet 6.22.1-universal-darwin → 6.25.1-universal-darwin
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +2 -2
- data/Gemfile.lock +20 -20
- data/README.md +4 -4
- data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
- data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
- data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
- data/{ext → examples}/nagios/check_puppet.rb +2 -2
- data/ext/README.md +13 -0
- data/ext/osx/puppet.plist +2 -0
- data/ext/project_data.yaml +1 -0
- data/lib/puppet/application/agent.rb +16 -5
- data/lib/puppet/application/apply.rb +22 -3
- data/lib/puppet/application/device.rb +2 -1
- data/lib/puppet/application/filebucket.rb +1 -0
- data/lib/puppet/application/resource.rb +32 -16
- data/lib/puppet/application/script.rb +2 -1
- data/lib/puppet/application/ssl.rb +1 -0
- data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
- data/lib/puppet/configurer/downloader.rb +2 -1
- data/lib/puppet/configurer.rb +144 -56
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +47 -33
- data/lib/puppet/environments.rb +75 -25
- data/lib/puppet/face/facts.rb +1 -1
- data/lib/puppet/face/help/action.erb +1 -0
- data/lib/puppet/face/help/face.erb +1 -0
- data/lib/puppet/face/node/clean.rb +11 -0
- data/lib/puppet/facter_impl.rb +96 -0
- data/lib/puppet/file_serving/configuration/parser.rb +2 -0
- data/lib/puppet/file_serving/configuration.rb +3 -0
- data/lib/puppet/file_serving/fileset.rb +14 -2
- data/lib/puppet/file_serving/mount/file.rb +4 -4
- data/lib/puppet/file_serving/mount/scripts.rb +24 -0
- data/lib/puppet/file_system/file_impl.rb +3 -1
- data/lib/puppet/file_system/windows.rb +2 -2
- data/lib/puppet/forge.rb +4 -4
- data/lib/puppet/functions/all.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +2 -2
- data/lib/puppet/functions/downcase.rb +2 -2
- data/lib/puppet/functions/empty.rb +8 -0
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/get.rb +5 -5
- data/lib/puppet/functions/group_by.rb +13 -5
- data/lib/puppet/functions/lest.rb +1 -1
- data/lib/puppet/functions/new.rb +100 -100
- data/lib/puppet/functions/partition.rb +4 -4
- data/lib/puppet/functions/require.rb +5 -5
- data/lib/puppet/functions/sort.rb +3 -3
- data/lib/puppet/functions/strftime.rb +1 -0
- data/lib/puppet/functions/tree_each.rb +7 -9
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/unwrap.rb +17 -2
- data/lib/puppet/functions/upcase.rb +2 -2
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/redirector.rb +5 -0
- data/lib/puppet/http/resolver/server_list.rb +15 -4
- data/lib/puppet/http/service/compiler.rb +75 -1
- data/lib/puppet/http/service/file_server.rb +2 -1
- data/lib/puppet/indirector/catalog/compiler.rb +25 -6
- data/lib/puppet/indirector/catalog/rest.rb +1 -0
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/resource/ral.rb +6 -1
- data/lib/puppet/indirector/terminus.rb +4 -0
- data/lib/puppet/interface/documentation.rb +1 -0
- data/lib/puppet/module/plan.rb +0 -1
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module.rb +1 -0
- data/lib/puppet/module_tool/applications/installer.rb +12 -4
- data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
- data/lib/puppet/module_tool/errors/shared.rb +17 -0
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
- data/lib/puppet/node/environment.rb +10 -11
- data/lib/puppet/pal/pal_impl.rb +1 -1
- data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/scope.rb +1 -0
- data/lib/puppet/parser/templatewrapper.rb +1 -0
- data/lib/puppet/pops/evaluator/closure.rb +7 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +1 -0
- data/lib/puppet/pops/lookup/lookup_adapter.rb +3 -2
- data/lib/puppet/pops/model/ast.rb +1 -0
- data/lib/puppet/pops/model/factory.rb +2 -1
- data/lib/puppet/pops/parser/eparser.rb +201 -201
- data/lib/puppet/pops/parser/lexer2.rb +92 -91
- data/lib/puppet/pops/parser/slurp_support.rb +1 -0
- data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
- data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
- data/lib/puppet/pops/types/type_formatter.rb +4 -3
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/types.rb +1 -1
- data/lib/puppet/provider/aix_object.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +16 -4
- data/lib/puppet/provider/group/groupadd.rb +5 -2
- data/lib/puppet/provider/package/nim.rb +11 -6
- data/lib/puppet/provider/package/pip.rb +15 -3
- data/lib/puppet/provider/package/pkg.rb +19 -2
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +3 -0
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +3 -3
- data/lib/puppet/provider/service/systemd.rb +15 -5
- data/lib/puppet/provider/service/upstart.rb +5 -5
- data/lib/puppet/provider/service/windows.rb +38 -0
- data/lib/puppet/provider/user/aix.rb +44 -1
- data/lib/puppet/provider/user/directoryservice.rb +26 -13
- data/lib/puppet/provider/user/useradd.rb +72 -16
- data/lib/puppet/provider.rb +1 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/providers.rb +2 -2
- data/lib/puppet/resource/catalog.rb +1 -1
- data/lib/puppet/resource/type_collection.rb +1 -0
- data/lib/puppet/resource.rb +38 -5
- data/lib/puppet/runtime.rb +11 -1
- data/lib/puppet/settings.rb +32 -9
- data/lib/puppet/test/test_helper.rb +4 -1
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +11 -1
- data/lib/puppet/transaction/report.rb +15 -1
- data/lib/puppet/type/exec.rb +35 -5
- data/lib/puppet/type/file/mode.rb +6 -0
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file.rb +25 -7
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +0 -1
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/service.rb +26 -41
- data/lib/puppet/type/tidy.rb +22 -3
- data/lib/puppet/type/user.rb +38 -21
- data/lib/puppet/type.rb +1 -1
- data/lib/puppet/util/command_line.rb +1 -1
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/json.rb +3 -0
- data/lib/puppet/util/log.rb +1 -2
- data/lib/puppet/util/logging.rb +1 -25
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/selinux.rb +30 -4
- data/lib/puppet/util/suidmanager.rb +1 -2
- data/lib/puppet/util/symbolic_file_mode.rb +29 -17
- data/lib/puppet/util/tagging.rb +1 -0
- data/lib/puppet/util/windows/service.rb +0 -5
- data/lib/puppet/util/windows/sid.rb +3 -1
- data/lib/puppet/util/windows/user.rb +0 -2
- data/lib/puppet/util/windows.rb +3 -0
- data/lib/puppet/util.rb +4 -3
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet.rb +5 -9
- data/locales/puppet.pot +408 -364
- data/man/man5/puppet.conf.5 +303 -275
- data/man/man8/puppet-agent.8 +4 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +9 -9
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +8 -8
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +7 -7
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +3 -3
- data/man/man8/puppet-node.8 +5 -5
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +5 -5
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet-status.8 +4 -4
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +2 -1
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
- data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
- data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
- data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
- data/spec/fixtures/ssl/ca.pem +57 -35
- data/spec/fixtures/ssl/crl.pem +28 -18
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +33 -24
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +108 -58
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
- data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
- data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
- data/spec/fixtures/ssl/intermediate.pem +57 -36
- data/spec/fixtures/ssl/oid-key.pem +117 -0
- data/spec/fixtures/ssl/oid.pem +69 -0
- data/spec/fixtures/ssl/pluto-key.pem +107 -57
- data/spec/fixtures/ssl/pluto.pem +52 -30
- data/spec/fixtures/ssl/request-key.pem +107 -57
- data/spec/fixtures/ssl/request.pem +47 -26
- data/spec/fixtures/ssl/revoked-key.pem +107 -57
- data/spec/fixtures/ssl/revoked.pem +52 -30
- data/spec/fixtures/ssl/signed-key.pem +107 -57
- data/spec/fixtures/ssl/signed.pem +52 -30
- data/spec/fixtures/ssl/tampered-cert.pem +52 -30
- data/spec/fixtures/ssl/tampered-csr.pem +47 -26
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +5 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
- data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
- data/spec/fixtures/ssl/unknown-ca.pem +55 -33
- data/spec/integration/application/agent_spec.rb +141 -37
- data/spec/integration/application/filebucket_spec.rb +16 -0
- data/spec/integration/application/module_spec.rb +21 -0
- data/spec/integration/application/resource_spec.rb +64 -0
- data/spec/integration/application/ssl_spec.rb +20 -0
- data/spec/integration/configurer_spec.rb +18 -2
- data/spec/integration/environments/settings_interpolation_spec.rb +0 -4
- data/spec/integration/indirector/facts/facter_spec.rb +93 -39
- data/spec/integration/l10n/compiler_spec.rb +37 -0
- data/spec/integration/parser/pcore_resource_spec.rb +10 -0
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/type/exec_spec.rb +70 -45
- data/spec/integration/type/file_spec.rb +2 -2
- data/spec/integration/type/package_spec.rb +6 -6
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/windows/process_spec.rb +1 -9
- data/spec/lib/puppet/test_ca.rb +7 -2
- data/spec/lib/puppet_spec/modules.rb +13 -2
- data/spec/lib/puppet_spec/puppetserver.rb +15 -0
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
- data/spec/shared_contexts/l10n.rb +27 -0
- data/spec/spec_helper.rb +1 -10
- data/spec/unit/application/agent_spec.rb +7 -2
- data/spec/unit/application/apply_spec.rb +76 -56
- data/spec/unit/application/resource_spec.rb +29 -0
- data/spec/unit/configurer/downloader_spec.rb +6 -0
- data/spec/unit/configurer_spec.rb +256 -57
- data/spec/unit/defaults_spec.rb +1 -0
- data/spec/unit/environments_spec.rb +184 -0
- data/spec/unit/facter_impl_spec.rb +31 -0
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
- data/spec/unit/file_serving/configuration_spec.rb +14 -4
- data/spec/unit/file_serving/fileset_spec.rb +60 -0
- data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
- data/spec/unit/file_system_spec.rb +13 -0
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +10 -0
- data/spec/unit/functions/logging_spec.rb +1 -0
- data/spec/unit/functions/lookup_spec.rb +64 -0
- data/spec/unit/functions/unwrap_spec.rb +8 -0
- data/spec/unit/functions4_spec.rb +2 -2
- data/spec/unit/gettext/config_spec.rb +12 -0
- data/spec/unit/http/client_spec.rb +58 -1
- data/spec/unit/http/service/compiler_spec.rb +131 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +101 -10
- data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
- data/spec/unit/indirector/indirection_spec.rb +10 -3
- data/spec/unit/indirector/resource/ral_spec.rb +40 -75
- data/spec/unit/interface/action_spec.rb +0 -9
- data/spec/unit/module_spec.rb +15 -1
- data/spec/unit/module_tool/applications/installer_spec.rb +51 -12
- data/spec/unit/network/authstore_spec.rb +0 -15
- data/spec/unit/network/formats_spec.rb +6 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
- data/spec/unit/parser/templatewrapper_spec.rb +12 -2
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
- data/spec/unit/pops/serialization/to_stringified_spec.rb +5 -0
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -0
- data/spec/unit/provider/package/gem_spec.rb +1 -1
- data/spec/unit/provider/package/nim_spec.rb +42 -0
- data/spec/unit/provider/package/pip2_spec.rb +1 -1
- data/spec/unit/provider/package/pip3_spec.rb +1 -1
- data/spec/unit/provider/package/pip_spec.rb +38 -1
- data/spec/unit/provider/package/pkg_spec.rb +29 -4
- data/spec/unit/provider/package/puppet_gem_spec.rb +1 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
- data/spec/unit/provider/parsedfile_spec.rb +10 -0
- data/spec/unit/provider/service/init_spec.rb +1 -0
- data/spec/unit/provider/service/launchd_spec.rb +11 -0
- data/spec/unit/provider/service/openwrt_spec.rb +3 -1
- data/spec/unit/provider/service/systemd_spec.rb +43 -9
- data/spec/unit/provider/service/windows_spec.rb +202 -0
- data/spec/unit/provider/user/aix_spec.rb +100 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +68 -36
- data/spec/unit/provider/user/useradd_spec.rb +43 -2
- data/spec/unit/provider_spec.rb +4 -4
- data/spec/unit/puppet_spec.rb +12 -4
- data/spec/unit/resource/catalog_spec.rb +14 -1
- data/spec/unit/resource_spec.rb +58 -2
- data/spec/unit/settings_spec.rb +97 -56
- data/spec/unit/ssl/certificate_request_spec.rb +8 -14
- data/spec/unit/ssl/state_machine_spec.rb +19 -5
- data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
- data/spec/unit/transaction_spec.rb +18 -20
- data/spec/unit/type/exec_spec.rb +76 -29
- data/spec/unit/type/file/selinux_spec.rb +3 -3
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/service_spec.rb +86 -188
- data/spec/unit/type/tidy_spec.rb +24 -7
- data/spec/unit/type/user_spec.rb +45 -0
- data/spec/unit/type_spec.rb +2 -2
- data/spec/unit/util/logging_spec.rb +2 -0
- data/spec/unit/util/selinux_spec.rb +87 -16
- data/spec/unit/util/windows/sid_spec.rb +39 -4
- data/tasks/generate_cert_fixtures.rake +12 -3
- data/tasks/parallel.rake +3 -3
- metadata +49 -95
- data/ext/README.environment +0 -8
- data/ext/dbfix.sql +0 -132
- data/ext/debian/README.Debian +0 -8
- data/ext/debian/README.source +0 -2
- data/ext/debian/TODO.Debian +0 -1
- data/ext/debian/changelog.erb +0 -1122
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -144
- data/ext/debian/copyright +0 -339
- data/ext/debian/docs +0 -1
- data/ext/debian/fileserver.conf +0 -41
- data/ext/debian/puppet-common.dirs +0 -13
- data/ext/debian/puppet-common.install +0 -3
- data/ext/debian/puppet-common.lintian-overrides +0 -5
- data/ext/debian/puppet-common.manpages +0 -28
- data/ext/debian/puppet-common.postinst +0 -35
- data/ext/debian/puppet-common.postrm +0 -33
- data/ext/debian/puppet-el.dirs +0 -1
- data/ext/debian/puppet-el.emacsen-install +0 -25
- data/ext/debian/puppet-el.emacsen-remove +0 -11
- data/ext/debian/puppet-el.emacsen-startup +0 -9
- data/ext/debian/puppet-el.install +0 -1
- data/ext/debian/puppet-testsuite.install +0 -2
- data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
- data/ext/debian/puppet.lintian-overrides +0 -3
- data/ext/debian/puppet.logrotate +0 -20
- data/ext/debian/puppet.postinst +0 -20
- data/ext/debian/puppet.postrm +0 -20
- data/ext/debian/puppet.preinst +0 -20
- data/ext/debian/puppetmaster-common.install +0 -2
- data/ext/debian/puppetmaster-common.manpages +0 -2
- data/ext/debian/puppetmaster-common.postinst +0 -6
- data/ext/debian/puppetmaster-passenger.dirs +0 -4
- data/ext/debian/puppetmaster-passenger.postinst +0 -162
- data/ext/debian/puppetmaster-passenger.postrm +0 -61
- data/ext/debian/puppetmaster.README.debian +0 -17
- data/ext/debian/puppetmaster.default +0 -14
- data/ext/debian/puppetmaster.init +0 -137
- data/ext/debian/puppetmaster.lintian-overrides +0 -3
- data/ext/debian/puppetmaster.postinst +0 -20
- data/ext/debian/puppetmaster.postrm +0 -5
- data/ext/debian/puppetmaster.preinst +0 -22
- data/ext/debian/rules +0 -132
- data/ext/debian/source/format +0 -1
- data/ext/debian/source/options +0 -1
- data/ext/debian/vim-puppet.README.Debian +0 -13
- data/ext/debian/vim-puppet.dirs +0 -5
- data/ext/debian/vim-puppet.yaml +0 -7
- data/ext/debian/watch +0 -2
- data/ext/freebsd/puppetd +0 -26
- data/ext/freebsd/puppetmasterd +0 -26
- data/ext/gentoo/conf.d/puppet +0 -5
- data/ext/gentoo/conf.d/puppetmaster +0 -12
- data/ext/gentoo/init.d/puppet +0 -38
- data/ext/gentoo/init.d/puppetmaster +0 -51
- data/ext/gentoo/puppet/fileserver.conf +0 -41
- data/ext/ips/puppet-agent +0 -44
- data/ext/ips/puppet-master +0 -44
- data/ext/ips/puppet.p5m.erb +0 -12
- data/ext/ips/puppetagent.xml +0 -42
- data/ext/ips/puppetmaster.xml +0 -42
- data/ext/ips/rules +0 -19
- data/ext/ips/transforms +0 -34
- data/ext/ldap/puppet.schema +0 -24
- data/ext/logcheck/puppet +0 -23
- data/ext/osx/file_mapping.yaml +0 -33
- data/ext/osx/postflight.erb +0 -109
- data/ext/osx/preflight.erb +0 -52
- data/ext/osx/prototype.plist.erb +0 -38
- data/ext/redhat/fileserver.conf +0 -41
- data/ext/redhat/logrotate +0 -21
- data/ext/redhat/puppet.spec.erb +0 -842
- data/ext/redhat/server.init +0 -128
- data/ext/redhat/server.sysconfig +0 -13
- data/ext/solaris/pkginfo +0 -6
- data/ext/solaris/smf/puppetd.xml +0 -77
- data/ext/solaris/smf/puppetmasterd.xml +0 -77
- data/ext/solaris/smf/svc-puppetd +0 -71
- data/ext/solaris/smf/svc-puppetmasterd +0 -67
- data/ext/suse/puppet.spec +0 -310
- data/ext/suse/server.init +0 -173
- data/ext/yaml_nodes.rb +0 -105
- data/spec/unit/indirector/store_configs_spec.rb +0 -7
data/lib/puppet/type/tidy.rb
CHANGED
@@ -50,6 +50,22 @@ Puppet::Type.newtype(:tidy) do
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
+
newparam(:max_files) do
|
54
|
+
desc "In case the resource is a directory and the recursion is enabled, puppet will
|
55
|
+
generate a new resource for each file file found, possible leading to
|
56
|
+
an excessive number of resources generated without any control.
|
57
|
+
|
58
|
+
Setting `max_files` will check the number of file resources that
|
59
|
+
will eventually be created and will raise a resource argument error if the
|
60
|
+
limit will be exceeded.
|
61
|
+
|
62
|
+
Use value `0` to disable the check. In this case, a warning is logged if
|
63
|
+
the number of files exceeds 1000."
|
64
|
+
|
65
|
+
defaultto 0
|
66
|
+
newvalues(/^[0-9]+$/)
|
67
|
+
end
|
68
|
+
|
53
69
|
newparam(:matches) do
|
54
70
|
desc <<-'EOT'
|
55
71
|
One or more (shell type) file glob patterns, which restrict
|
@@ -128,7 +144,7 @@ Puppet::Type.newtype(:tidy) do
|
|
128
144
|
|
129
145
|
def tidy?(path, stat)
|
130
146
|
# If the file's older than we allow, we should get rid of it.
|
131
|
-
(Time.now.to_i - stat.send(resource[:type]).to_i)
|
147
|
+
(Time.now.to_i - stat.send(resource[:type]).to_i) >= value
|
132
148
|
end
|
133
149
|
|
134
150
|
munge do |age|
|
@@ -256,9 +272,12 @@ Puppet::Type.newtype(:tidy) do
|
|
256
272
|
|
257
273
|
case self[:recurse]
|
258
274
|
when Integer, /^\d+$/
|
259
|
-
parameter = { :
|
275
|
+
parameter = { :max_files => self[:max_files],
|
276
|
+
:recurse => true,
|
277
|
+
:recurselimit => self[:recurse] }
|
260
278
|
when true, :true, :inf
|
261
|
-
parameter = { :
|
279
|
+
parameter = { :max_files => self[:max_files],
|
280
|
+
:recurse => true }
|
262
281
|
end
|
263
282
|
|
264
283
|
if parameter
|
data/lib/puppet/type/user.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'etc'
|
2
|
-
require 'facter'
|
3
2
|
require 'puppet/parameter/boolean'
|
4
3
|
require 'puppet/property/list'
|
5
4
|
require 'puppet/property/ordered_list'
|
@@ -67,6 +66,7 @@ module Puppet
|
|
67
66
|
newproperty(:ensure, :parent => Puppet::Property::Ensure) do
|
68
67
|
newvalue(:present, :event => :user_created) do
|
69
68
|
provider.create
|
69
|
+
@resource.generate
|
70
70
|
end
|
71
71
|
|
72
72
|
newvalue(:absent, :event => :user_removed) do
|
@@ -695,6 +695,7 @@ module Puppet
|
|
695
695
|
|
696
696
|
def generate
|
697
697
|
if !self[:purge_ssh_keys].empty?
|
698
|
+
return [] if self[:ensure] == :present && !provider.exists?
|
698
699
|
if Puppet::Type.type(:ssh_authorized_key).nil?
|
699
700
|
warning _("Ssh_authorized_key type is not available. Cannot purge SSH keys.")
|
700
701
|
else
|
@@ -743,25 +744,6 @@ module Puppet
|
|
743
744
|
end
|
744
745
|
raise ArgumentError, _("purge_ssh_keys must be true, false, or an array of file names, not %{value}") % { value: value.inspect }
|
745
746
|
end
|
746
|
-
|
747
|
-
munge do |value|
|
748
|
-
# Resolve string, boolean and symbol forms of true and false to a
|
749
|
-
# single representation.
|
750
|
-
test_sym = value.to_s.intern
|
751
|
-
value = test_sym if [:true, :false].include? test_sym
|
752
|
-
|
753
|
-
return [] if value == :false
|
754
|
-
home = resource[:home] || Dir.home(resource[:name])
|
755
|
-
|
756
|
-
return [ "#{home}/.ssh/authorized_keys" ] if value == :true
|
757
|
-
# value is an array - munge each value
|
758
|
-
[ value ].flatten.map do |entry|
|
759
|
-
# make sure frozen value is duplicated by using a gsub, second mutating gsub! is then ok
|
760
|
-
entry = entry.gsub(/^~\//, "#{home}/")
|
761
|
-
entry.gsub!(/^%h\//, "#{home}/")
|
762
|
-
entry
|
763
|
-
end
|
764
|
-
end
|
765
747
|
end
|
766
748
|
|
767
749
|
newproperty(:loginclass, :required_features => :manages_loginclass) do
|
@@ -783,7 +765,7 @@ module Puppet
|
|
783
765
|
# @see generate
|
784
766
|
# @api private
|
785
767
|
def find_unmanaged_keys
|
786
|
-
|
768
|
+
munged_unmanaged_keys.
|
787
769
|
select { |f| File.readable?(f) }.
|
788
770
|
map { |f| unknown_keys_in_file(f) }.
|
789
771
|
flatten.each do |res|
|
@@ -795,6 +777,41 @@ module Puppet
|
|
795
777
|
end
|
796
778
|
end
|
797
779
|
|
780
|
+
def munged_unmanaged_keys
|
781
|
+
value = self[:purge_ssh_keys]
|
782
|
+
|
783
|
+
# Resolve string, boolean and symbol forms of true and false to a
|
784
|
+
# single representation.
|
785
|
+
test_sym = value.to_s.intern
|
786
|
+
value = test_sym if [:true, :false].include? test_sym
|
787
|
+
|
788
|
+
return [] if value == :false
|
789
|
+
|
790
|
+
home = self[:home]
|
791
|
+
begin
|
792
|
+
home ||= provider.home
|
793
|
+
rescue
|
794
|
+
Puppet.debug("User '#{self[:name]}' does not exist")
|
795
|
+
end
|
796
|
+
|
797
|
+
if home.to_s.empty? || !Dir.exist?(home.to_s)
|
798
|
+
if value == :true || [ value ].flatten.any? { |v| v.start_with?('~/', '%h/') }
|
799
|
+
Puppet.debug("User '#{self[:name]}' has no home directory set to purge ssh keys from.")
|
800
|
+
return []
|
801
|
+
end
|
802
|
+
end
|
803
|
+
|
804
|
+
return [ "#{home}/.ssh/authorized_keys" ] if value == :true
|
805
|
+
|
806
|
+
# value is an array - munge each value
|
807
|
+
[ value ].flatten.map do |entry|
|
808
|
+
# make sure frozen value is duplicated by using a gsub, second mutating gsub! is then ok
|
809
|
+
entry = entry.gsub(/^~\//, "#{home}/")
|
810
|
+
entry.gsub!(/^%h\//, "#{home}/")
|
811
|
+
entry
|
812
|
+
end
|
813
|
+
end
|
814
|
+
|
798
815
|
# Parse an ssh authorized keys file superficially, extract the comments
|
799
816
|
# on the keys. These are considered names of possible ssh_authorized_keys
|
800
817
|
# resources. Keys that are managed by the present catalog are ignored.
|
data/lib/puppet/type.rb
CHANGED
@@ -1295,7 +1295,7 @@ class Type
|
|
1295
1295
|
like it does when running normally. However, if a resource attribute is not in
|
1296
1296
|
the desired state (as declared in the catalog), Puppet will take no
|
1297
1297
|
action, and will instead report the changes it _would_ have made. These
|
1298
|
-
simulated changes will appear in the report sent to the
|
1298
|
+
simulated changes will appear in the report sent to the primary Puppet server, or
|
1299
1299
|
be shown on the console if running puppet agent or puppet apply in the
|
1300
1300
|
foreground. The simulated changes will not send refresh events to any
|
1301
1301
|
subscribing or notified resources, although Puppet will log that a refresh
|
data/lib/puppet/util/filetype.rb
CHANGED
@@ -215,7 +215,7 @@ class Puppet::Util::FileType
|
|
215
215
|
# Remove a specific @path's cron tab.
|
216
216
|
def remove
|
217
217
|
cmd = "#{cmdbase} -r"
|
218
|
-
if %w{Darwin FreeBSD DragonFly}.include?(
|
218
|
+
if %w{Darwin FreeBSD DragonFly}.include?(Puppet.runtime[:facter].value("operatingsystem"))
|
219
219
|
cmd = "/bin/echo yes | #{cmd}"
|
220
220
|
end
|
221
221
|
|
@@ -244,7 +244,7 @@ class Puppet::Util::FileType
|
|
244
244
|
# Only add the -u flag when the @path is different. Fedora apparently
|
245
245
|
# does not think I should be allowed to set the @path to my own user name
|
246
246
|
def cmdbase
|
247
|
-
if @uid == Puppet::Util::SUIDManager.uid ||
|
247
|
+
if @uid == Puppet::Util::SUIDManager.uid || Puppet.runtime[:facter].value(:operatingsystem) == "HP-UX"
|
248
248
|
return "crontab"
|
249
249
|
else
|
250
250
|
return "crontab -u #{@path}"
|
data/lib/puppet/util/json.rb
CHANGED
@@ -60,6 +60,9 @@ module Puppet::Util
|
|
60
60
|
def self.dump(object, options = {})
|
61
61
|
if defined? MultiJson
|
62
62
|
MultiJson.dump(object, options)
|
63
|
+
elsif options.is_a?(JSON::State)
|
64
|
+
# we're being called recursively
|
65
|
+
object.to_json(options)
|
63
66
|
else
|
64
67
|
options.merge!(::JSON::PRETTY_STATE_PROTOTYPE.to_h) if options.delete(:pretty)
|
65
68
|
object.to_json(options)
|
data/lib/puppet/util/log.rb
CHANGED
@@ -2,7 +2,6 @@ require 'puppet/util/tagging'
|
|
2
2
|
require 'puppet/util/classgen'
|
3
3
|
require 'puppet/util/psych_support'
|
4
4
|
require 'puppet/network/format_support'
|
5
|
-
require 'facter'
|
6
5
|
|
7
6
|
# Pass feedback to the user. Log levels are modeled after syslog's, and it is
|
8
7
|
# expected that that will be the most common log destination. Supports
|
@@ -111,7 +110,7 @@ class Puppet::Util::Log
|
|
111
110
|
@loglevel = @levels.index(level)
|
112
111
|
|
113
112
|
# Enable or disable Facter debugging
|
114
|
-
|
113
|
+
Puppet.runtime[:facter].debugging(level == :debug)
|
115
114
|
end
|
116
115
|
|
117
116
|
def Log.levels
|
data/lib/puppet/util/logging.rb
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
require 'puppet/util/log'
|
3
3
|
require 'puppet/error'
|
4
4
|
|
5
|
-
require 'facter'
|
6
|
-
|
7
5
|
module Puppet::Util
|
8
6
|
module Logging
|
9
7
|
|
@@ -254,29 +252,7 @@ module Logging
|
|
254
252
|
# Sets up Facter logging.
|
255
253
|
# This method causes Facter output to be forwarded to Puppet.
|
256
254
|
def self.setup_facter_logging!
|
257
|
-
|
258
|
-
return false unless Facter.respond_to? :on_message
|
259
|
-
|
260
|
-
# The current Facter log levels are: :trace, :debug, :info, :warn, :error, and :fatal.
|
261
|
-
# Convert to the corresponding levels in Puppet
|
262
|
-
Facter.on_message do |level, message|
|
263
|
-
case level
|
264
|
-
when :trace, :debug
|
265
|
-
level = :debug
|
266
|
-
when :info
|
267
|
-
# Same as Puppet
|
268
|
-
when :warn
|
269
|
-
level = :warning
|
270
|
-
when :error
|
271
|
-
level = :err
|
272
|
-
when :fatal
|
273
|
-
level = :crit
|
274
|
-
else
|
275
|
-
next
|
276
|
-
end
|
277
|
-
Puppet::Util::Log.create({:level => level, :source => 'Facter', :message => message})
|
278
|
-
nil
|
279
|
-
end
|
255
|
+
Puppet.runtime[:facter]
|
280
256
|
true
|
281
257
|
end
|
282
258
|
|
data/lib/puppet/util/pidlock.rb
CHANGED
@@ -154,7 +154,7 @@ module RDoc::PuppetParserCore
|
|
154
154
|
# fetch comments
|
155
155
|
if line =~ /^[ \t]*# ?(.*)$/
|
156
156
|
comments += $1 + "\n"
|
157
|
-
elsif line =~ /^[ \t]*Facter.add\(['"](.*?)['"]\)/
|
157
|
+
elsif line =~ /^[ \t]*(Facter.add|Puppet\.runtime\[:facter\].add)\(['"](.*?)['"]\)/
|
158
158
|
current_fact = RDoc::Fact.new($1,{})
|
159
159
|
look_for_directives_in(container, comments) unless comments.empty?
|
160
160
|
current_fact.comment = comments
|
data/lib/puppet/util/selinux.rb
CHANGED
@@ -13,6 +13,10 @@ require 'pathname'
|
|
13
13
|
|
14
14
|
module Puppet::Util::SELinux
|
15
15
|
|
16
|
+
S_IFREG = 0100000
|
17
|
+
S_IFDIR = 0040000
|
18
|
+
S_IFLNK = 0120000
|
19
|
+
|
16
20
|
def self.selinux_support?
|
17
21
|
return false unless defined?(Selinux)
|
18
22
|
if Selinux.is_selinux_enabled == 1
|
@@ -38,7 +42,7 @@ module Puppet::Util::SELinux
|
|
38
42
|
|
39
43
|
# Retrieve and return the default context of the file. If we don't have
|
40
44
|
# SELinux support or if the SELinux call fails to file a default then return nil.
|
41
|
-
def get_selinux_default_context(file)
|
45
|
+
def get_selinux_default_context(file, resource_ensure=nil)
|
42
46
|
return nil unless selinux_support?
|
43
47
|
# If the filesystem has no support for SELinux labels, return a default of nil
|
44
48
|
# instead of what matchpathcon would return
|
@@ -48,8 +52,14 @@ module Puppet::Util::SELinux
|
|
48
52
|
begin
|
49
53
|
filestat = file_lstat(file)
|
50
54
|
mode = filestat.mode
|
51
|
-
rescue Errno::EACCES
|
55
|
+
rescue Errno::EACCES
|
52
56
|
mode = 0
|
57
|
+
rescue Errno::ENOENT
|
58
|
+
if resource_ensure
|
59
|
+
mode = get_create_mode(resource_ensure)
|
60
|
+
else
|
61
|
+
mode = 0
|
62
|
+
end
|
53
63
|
end
|
54
64
|
|
55
65
|
retval = Selinux.matchpathcon(file, mode)
|
@@ -136,8 +146,8 @@ module Puppet::Util::SELinux
|
|
136
146
|
# Puppet uses. This will set the file's SELinux context to the policy's
|
137
147
|
# default context (if any) if it differs from the context currently on
|
138
148
|
# the file.
|
139
|
-
def set_selinux_default_context(file)
|
140
|
-
new_context = get_selinux_default_context(file)
|
149
|
+
def set_selinux_default_context(file, resource_ensure=nil)
|
150
|
+
new_context = get_selinux_default_context(file, resource_ensure)
|
141
151
|
return nil unless new_context
|
142
152
|
cur_context = get_selinux_current_context(file)
|
143
153
|
if new_context != cur_context
|
@@ -198,6 +208,22 @@ module Puppet::Util::SELinux
|
|
198
208
|
filesystems.include?(fstype)
|
199
209
|
end
|
200
210
|
|
211
|
+
# Get mode file type bits set based on ensure on
|
212
|
+
# the file resource. This helps SELinux determine
|
213
|
+
# what context a new resource being created should have.
|
214
|
+
def get_create_mode(resource_ensure)
|
215
|
+
mode = 0
|
216
|
+
case resource_ensure
|
217
|
+
when :present, :file
|
218
|
+
mode |= S_IFREG
|
219
|
+
when :directory
|
220
|
+
mode |= S_IFDIR
|
221
|
+
when :link
|
222
|
+
mode |= S_IFLNK
|
223
|
+
end
|
224
|
+
mode
|
225
|
+
end
|
226
|
+
|
201
227
|
# Internal helper function to read and parse /proc/mounts
|
202
228
|
def read_mounts
|
203
229
|
mounts = ""
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'facter'
|
2
1
|
require 'puppet/util/warnings'
|
3
2
|
require 'forwardable'
|
4
3
|
require 'etc'
|
@@ -18,7 +17,7 @@ module Puppet::Util::SUIDManager
|
|
18
17
|
|
19
18
|
def osx_maj_ver
|
20
19
|
return @osx_maj_ver unless @osx_maj_ver.nil?
|
21
|
-
@osx_maj_ver =
|
20
|
+
@osx_maj_ver = Puppet.runtime[:facter].value('macosx_productversion_major') || false
|
22
21
|
end
|
23
22
|
module_function :osx_maj_ver
|
24
23
|
|
@@ -19,25 +19,37 @@ module SymbolicFileMode
|
|
19
19
|
return false
|
20
20
|
end
|
21
21
|
|
22
|
+
def display_mode(value)
|
23
|
+
if value =~ /^0?[0-7]{1,4}$/
|
24
|
+
value.rjust(4, "0")
|
25
|
+
else
|
26
|
+
value
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
22
30
|
def normalize_symbolic_mode(value)
|
23
31
|
return nil if value.nil?
|
24
32
|
|
25
33
|
# We need to treat integers as octal numbers.
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
34
|
+
#
|
35
|
+
# "A numeric mode is from one to four octal digits (0-7), derived by adding
|
36
|
+
# up the bits with values 4, 2, and 1. Omitted digits are assumed to be
|
37
|
+
# leading zeros."
|
38
|
+
if value.is_a? Numeric
|
39
|
+
value.to_s(8)
|
40
|
+
elsif value =~ /^0?[0-7]{1,4}$/
|
41
|
+
value.to_i(8).to_s(8) # strip leading 0's
|
30
42
|
else
|
31
|
-
|
43
|
+
value
|
32
44
|
end
|
33
45
|
end
|
34
46
|
|
35
47
|
def symbolic_mode_to_int(modification, to_mode = 0, is_a_directory = false)
|
36
|
-
if modification.nil? or modification == ''
|
48
|
+
if modification.nil? or modification == ''
|
37
49
|
raise Puppet::Error, _("An empty mode string is illegal")
|
38
|
-
|
39
|
-
|
40
|
-
|
50
|
+
elsif modification =~ /^[0-7]+$/
|
51
|
+
return modification.to_i(8)
|
52
|
+
elsif modification =~ /^\d+$/
|
41
53
|
raise Puppet::Error, _("Numeric modes must be in octal, not decimal!")
|
42
54
|
end
|
43
55
|
|
@@ -84,31 +96,31 @@ module SymbolicFileMode
|
|
84
96
|
|
85
97
|
dsl.split('').each do |op|
|
86
98
|
case op
|
87
|
-
when /[-+=]/
|
99
|
+
when /[-+=]/
|
88
100
|
action = op
|
89
101
|
# Clear all bits, if this is assignment
|
90
102
|
value = 0 if op == '='
|
91
103
|
|
92
|
-
when /[ugo]/
|
104
|
+
when /[ugo]/
|
93
105
|
value = actions[action].call(value, snapshot_mode[op])
|
94
106
|
|
95
|
-
when /[rwx]/
|
107
|
+
when /[rwx]/
|
96
108
|
value = actions[action].call(value, SymbolicMode[op])
|
97
109
|
|
98
|
-
when 'X'
|
110
|
+
when 'X'
|
99
111
|
# Only meaningful in combination with "set" actions.
|
100
|
-
if action != '+'
|
112
|
+
if action != '+'
|
101
113
|
raise Puppet::Error, _("X only works with the '+' operator")
|
102
114
|
end
|
103
115
|
|
104
116
|
# As per the BSD manual page, set if this is a directory, or if
|
105
117
|
# any execute bit is set on the original (unmodified) mode.
|
106
118
|
# Ignored otherwise; it is "add if", not "add or clear".
|
107
|
-
if is_a_directory or original_mode['any x?']
|
119
|
+
if is_a_directory or original_mode['any x?']
|
108
120
|
value = actions[action].call(value, ExecBit)
|
109
121
|
end
|
110
122
|
|
111
|
-
when /[st]/
|
123
|
+
when /[st]/
|
112
124
|
bit = SymbolicSpecialToBit[op][who] or fail _("internal error")
|
113
125
|
final_mode['s'] = actions[action].call(final_mode['s'], bit)
|
114
126
|
|
@@ -122,7 +134,7 @@ module SymbolicFileMode
|
|
122
134
|
end
|
123
135
|
|
124
136
|
rescue Puppet::Error => e
|
125
|
-
if part.inspect != modification.inspect
|
137
|
+
if part.inspect != modification.inspect
|
126
138
|
rest = " at #{part.inspect}"
|
127
139
|
else
|
128
140
|
rest = ''
|
data/lib/puppet/util/tagging.rb
CHANGED
@@ -13,11 +13,6 @@ module Puppet::Util::Windows
|
|
13
13
|
|
14
14
|
FILE = Puppet::Util::Windows::File
|
15
15
|
|
16
|
-
# integer value of the floor for timeouts when waiting for service pending states.
|
17
|
-
# puppet will wait the length of dwWaitHint if it is longer than this value, but
|
18
|
-
# no shorter
|
19
|
-
DEFAULT_TIMEOUT = 30
|
20
|
-
|
21
16
|
# Service error codes
|
22
17
|
# https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes--1000-1299-
|
23
18
|
ERROR_SERVICE_DOES_NOT_EXIST = 0x00000424
|
@@ -75,7 +75,9 @@ module Puppet::Util::Windows
|
|
75
75
|
raw_sid_bytes = sid_ptr.read_array_of_uchar(get_length_sid(sid_ptr))
|
76
76
|
end
|
77
77
|
rescue => e
|
78
|
-
|
78
|
+
# Avoid debug logs pollution with valid account names
|
79
|
+
# https://docs.microsoft.com/en-us/windows/win32/api/sddl/nf-sddl-convertstringsidtosidw#return-value
|
80
|
+
Puppet.debug("Could not retrieve raw SID bytes from '#{name}': #{e.message}") unless e.code == ERROR_INVALID_SID_STRUCTURE
|
79
81
|
end
|
80
82
|
|
81
83
|
raw_sid_bytes ? Principal.lookup_account_sid(raw_sid_bytes) : Principal.lookup_account_name(name)
|
data/lib/puppet/util/windows.rb
CHANGED
data/lib/puppet/util.rb
CHANGED
@@ -763,12 +763,13 @@ module Util
|
|
763
763
|
# Executes a block of code, wrapped around Facter.load_external(false) and
|
764
764
|
# Facter.load_external(true) which will cause Facter to not evaluate external facts.
|
765
765
|
def skip_external_facts
|
766
|
-
return yield unless
|
766
|
+
return yield unless Puppet.runtime[:facter].load_external?
|
767
|
+
|
767
768
|
begin
|
768
|
-
|
769
|
+
Puppet.runtime[:facter].load_external(false)
|
769
770
|
yield
|
770
771
|
ensure
|
771
|
-
|
772
|
+
Puppet.runtime[:facter].load_external(true)
|
772
773
|
end
|
773
774
|
end
|
774
775
|
module_function :skip_external_facts
|
data/lib/puppet/version.rb
CHANGED
data/lib/puppet.rb
CHANGED
@@ -12,7 +12,6 @@ $LOAD_PATH.extend(Puppet::Concurrent::Synchronized)
|
|
12
12
|
# see the bottom of the file for further inclusions
|
13
13
|
# Also see the new Vendor support - towards the end
|
14
14
|
#
|
15
|
-
require 'facter'
|
16
15
|
require 'puppet/error'
|
17
16
|
require 'puppet/util'
|
18
17
|
require 'puppet/util/autoload'
|
@@ -88,9 +87,6 @@ module Puppet
|
|
88
87
|
require 'puppet/util/logging'
|
89
88
|
extend Puppet::Util::Logging
|
90
89
|
|
91
|
-
# Setup facter's logging
|
92
|
-
Puppet::Util::Logging.setup_facter_logging!
|
93
|
-
|
94
90
|
# The feature collection
|
95
91
|
@features = Puppet::Util::Feature.new('puppet/feature')
|
96
92
|
|
@@ -199,15 +195,15 @@ module Puppet
|
|
199
195
|
def self.initialize_facts
|
200
196
|
# Add the puppetversion fact; this is done before generating the hash so it is
|
201
197
|
# accessible to custom facts.
|
202
|
-
|
198
|
+
Puppet.runtime[:facter].add(:puppetversion) do
|
203
199
|
setcode { Puppet.version.to_s }
|
204
200
|
end
|
205
201
|
|
206
|
-
|
202
|
+
Puppet.runtime[:facter].add(:agent_specified_environment) do
|
207
203
|
setcode do
|
208
|
-
|
209
|
-
Puppet
|
210
|
-
|
204
|
+
Puppet.settings.set_by_cli(:environment) ||
|
205
|
+
Puppet.settings.set_in_section(:environment, :agent) ||
|
206
|
+
Puppet.settings.set_in_section(:environment, :main)
|
211
207
|
end
|
212
208
|
end
|
213
209
|
end
|