├── .editorconfig ├── .github └── workflows │ └── codeql-analysis.yml ├── .gitignore ├── LICENSE ├── README.md ├── auth.conf ├── autosign.conf ├── bin ├── install-modules.sh └── module-deps.sh ├── contrib-modules ├── apt │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── LICENSE │ ├── MAINTAINERS.md │ ├── NOTICE │ ├── README.md │ ├── Rakefile │ ├── checksums.json │ ├── examples │ │ ├── backports.pp │ │ ├── builddep.pp │ │ ├── debian_testing.pp │ │ ├── debian_unstable.pp │ │ ├── disable_keys.pp │ │ ├── fancy_progress.pp │ │ ├── force.pp │ │ ├── hold.pp │ │ ├── key.pp │ │ ├── pin.pp │ │ ├── ppa.pp │ │ ├── release.pp │ │ ├── source.pp │ │ └── unattended_upgrades.pp │ ├── lib │ │ ├── facter │ │ │ ├── apt_reboot_required.rb │ │ │ ├── apt_update_last_success.rb │ │ │ └── apt_updates.rb │ │ └── puppet │ │ │ ├── provider │ │ │ └── apt_key │ │ │ │ └── apt_key.rb │ │ │ └── type │ │ │ └── apt_key.rb │ ├── locales │ │ └── config.yaml │ ├── manifests │ │ ├── backports.pp │ │ ├── conf.pp │ │ ├── init.pp │ │ ├── key.pp │ │ ├── params.pp │ │ ├── pin.pp │ │ ├── ppa.pp │ │ ├── setting.pp │ │ ├── source.pp │ │ └── update.pp │ ├── metadata.json │ ├── spec │ │ ├── acceptance │ │ │ ├── apt_key_provider_spec.rb │ │ │ ├── apt_spec.rb │ │ │ ├── class_spec.rb │ │ │ ├── init_task_spec.rb │ │ │ └── nodesets │ │ │ │ ├── centos-7-x64.yml │ │ │ │ ├── debian-8-x64.yml │ │ │ │ ├── default.yml │ │ │ │ └── docker │ │ │ │ ├── centos-7.yml │ │ │ │ ├── debian-8.yml │ │ │ │ └── ubuntu-14.04.yml │ │ ├── classes │ │ │ ├── apt_backports_spec.rb │ │ │ ├── apt_spec.rb │ │ │ └── apt_update_spec.rb │ │ ├── defines │ │ │ ├── conf_spec.rb │ │ │ ├── key_compat_spec.rb │ │ │ ├── key_spec.rb │ │ │ ├── pin_spec.rb │ │ │ ├── ppa_spec.rb │ │ │ ├── setting_spec.rb │ │ │ ├── source_compat_spec.rb │ │ │ └── source_spec.rb │ │ ├── spec_helper.rb │ │ ├── spec_helper_acceptance.rb │ │ └── unit │ │ │ ├── facter │ │ │ ├── apt_dist_has_updates_spec.rb │ │ │ ├── apt_dist_package_security_updates_spec.rb │ │ │ ├── apt_dist_package_updates_spec.rb │ │ │ ├── apt_dist_security_updates_spec.rb │ │ │ ├── apt_dist_updates_spec.rb │ │ │ ├── apt_has_updates_spec.rb │ │ │ ├── apt_package_security_updates_spec.rb │ │ │ ├── apt_package_updates_spec.rb │ │ │ ├── apt_reboot_required_spec.rb │ │ │ ├── apt_security_updates_spec.rb │ │ │ ├── apt_update_last_success_spec.rb │ │ │ └── apt_updates_spec.rb │ │ │ └── puppet │ │ │ └── type │ │ │ └── apt_key_spec.rb │ ├── tasks │ │ ├── init.json │ │ └── init.rb │ └── templates │ │ ├── 15update-stamp.epp │ │ ├── _conf_header.epp │ │ ├── _header.epp │ │ ├── pin.pref.epp │ │ ├── proxy.epp │ │ └── source.list.epp ├── archive │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── Rakefile │ ├── checksums.json │ ├── examples │ │ ├── archive.pp │ │ ├── artifactory.pp │ │ ├── bad_source.pp │ │ ├── cookie.pp │ │ ├── duplicate.pp │ │ ├── ftp.pp │ │ ├── init.pp │ │ ├── java.pp │ │ ├── large_file.pp │ │ ├── local.pp │ │ ├── nexus.pp │ │ ├── remote_checksum.pp │ │ ├── ruby.pp │ │ ├── s3.pp │ │ └── tomcat.pp │ ├── files │ │ └── test.zip │ ├── lib │ │ ├── facter │ │ │ └── archive_windir.rb │ │ ├── puppet │ │ │ ├── functions │ │ │ │ └── archive │ │ │ │ │ ├── artifactory_checksum.rb │ │ │ │ │ ├── artifactory_latest_url.rb │ │ │ │ │ └── parse_artifactory_url.rb │ │ │ ├── parser │ │ │ │ └── functions │ │ │ │ │ ├── assemble_nexus_url.rb │ │ │ │ │ └── go_md5.rb │ │ │ ├── provider │ │ │ │ └── archive │ │ │ │ │ ├── curl.rb │ │ │ │ │ ├── ruby.rb │ │ │ │ │ └── wget.rb │ │ │ └── type │ │ │ │ └── archive.rb │ │ └── puppet_x │ │ │ └── bodeco │ │ │ ├── archive.rb │ │ │ ├── cacert.pem │ │ │ └── util.rb │ ├── manifests │ │ ├── artifactory.pp │ │ ├── download.pp │ │ ├── go.pp │ │ ├── init.pp │ │ ├── nexus.pp │ │ ├── params.pp │ │ └── staging.pp │ ├── metadata.json │ └── spec │ │ ├── acceptance │ │ └── nodesets │ │ │ ├── archlinux-2-x64.yml │ │ │ ├── centos-511-x64.yml │ │ │ ├── centos-6-x64.yml │ │ │ ├── centos-66-x64-pe.yml │ │ │ ├── centos-66-x64.yml │ │ │ ├── centos-7-x64.yml │ │ │ ├── centos-72-x64.yml │ │ │ ├── debian-78-x64.yml │ │ │ ├── debian-82-x64.yml │ │ │ ├── docker │ │ │ ├── centos-5.yml │ │ │ ├── centos-6.yml │ │ │ ├── centos-7.yml │ │ │ ├── debian-7.yml │ │ │ ├── debian-8.yml │ │ │ ├── debian-9.yml │ │ │ ├── ubuntu-12.04.yml │ │ │ ├── ubuntu-14.04.yml │ │ │ └── ubuntu-16.04.yml │ │ │ ├── ec2 │ │ │ ├── amazonlinux-2016091.yml │ │ │ ├── image_templates.yaml │ │ │ ├── rhel-73-x64.yml │ │ │ ├── sles-12sp2-x64.yml │ │ │ ├── ubuntu-1604-x64.yml │ │ │ └── windows-2016-base-x64.yml │ │ │ ├── fedora-24-x64.yml │ │ │ ├── fedora-25-x64.yml │ │ │ ├── fedora-26-x64.yml │ │ │ ├── fedora-27-x64.yml │ │ │ ├── ubuntu-server-1204-x64.yml │ │ │ ├── ubuntu-server-1404-x64.yml │ │ │ └── ubuntu-server-1604-x64.yml │ │ ├── classes │ │ ├── archive_spec.rb │ │ ├── coverage_spec.rb │ │ └── staging_spec.rb │ │ ├── default_facts.yml │ │ ├── defines │ │ ├── artifactory_spec.rb │ │ ├── go_spec.rb │ │ └── nexus_spec.rb │ │ ├── fixtures │ │ └── checksum │ │ │ ├── artifactory.json │ │ │ └── gocd.md5 │ │ ├── functions │ │ ├── artifactory_checksum_spec.rb │ │ └── parse_artifactory_url_spec.rb │ │ ├── spec_helper.rb │ │ ├── support │ │ ├── shared_behaviour.rb │ │ └── shared_contexts.rb │ │ └── unit │ │ ├── facter │ │ └── archive_windir_spec.rb │ │ ├── puppet │ │ ├── parser │ │ │ └── functions │ │ │ │ ├── assemble_nexus_url_spec.rb │ │ │ │ └── go_md5_spec.rb │ │ ├── provider │ │ │ └── archive │ │ │ │ ├── curl_spec.rb │ │ │ │ ├── ruby_spec.rb │ │ │ │ └── wget_spec.rb │ │ └── type │ │ │ └── archive_spec.rb │ │ └── puppet_x │ │ └── bodeco │ │ └── archive_spec.rb ├── concat │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── LICENSE │ ├── MAINTAINERS.md │ ├── NOTICE │ ├── README.md │ ├── Rakefile │ ├── appveyor.yml │ ├── checksums.json │ ├── examples │ │ ├── fragment.pp │ │ └── init.pp │ ├── lib │ │ └── puppet │ │ │ └── type │ │ │ ├── concat_file.rb │ │ │ └── concat_fragment.rb │ ├── locales │ │ └── config.yaml │ ├── manifests │ │ ├── fragment.pp │ │ └── init.pp │ ├── metadata.json │ └── spec │ │ ├── acceptance │ │ ├── backup_spec.rb │ │ ├── concat_spec.rb │ │ ├── concurrency_spec.rb │ │ ├── force_spec.rb │ │ ├── format_spec.rb │ │ ├── fragment_order_spec.rb │ │ ├── fragment_source_spec.rb │ │ ├── fragments_are_always_replaced_spec.rb │ │ ├── native │ │ │ ├── backup_spec.rb │ │ │ ├── concat_spec.rb │ │ │ ├── concurrency_spec.rb │ │ │ ├── file_order_spec.rb │ │ │ ├── fragment_order_spec.rb │ │ │ ├── fragment_source_spec.rb │ │ │ ├── fragments_are_always_replaced_spec.rb │ │ │ ├── newline_spec.rb │ │ │ ├── pup_1963_spec_resources.rb │ │ │ ├── pup_1963_spec_subscribed_resources.rb │ │ │ ├── quoted_paths_spec.rb │ │ │ ├── replace_spec.rb │ │ │ ├── symbolic_name_spec.rb │ │ │ ├── validation_spec.rb │ │ │ └── warnings_spec.rb │ │ ├── newline_spec.rb │ │ ├── nodesets │ │ │ ├── centos-7-x64.yml │ │ │ ├── debian-8-x64.yml │ │ │ ├── debian-9-x64.yml │ │ │ ├── default.yml │ │ │ └── docker │ │ │ │ ├── centos-7.yml │ │ │ │ ├── debian-8.yml │ │ │ │ └── ubuntu-14.04.yml │ │ ├── noop_spec.rb │ │ ├── order_spec.rb │ │ ├── pup_1963_spec.rb │ │ ├── quoted_paths_spec.rb │ │ ├── replace_spec.rb │ │ ├── specinfra_stubs.rb │ │ ├── symbolic_name_spec.rb │ │ ├── validation_spec.rb │ │ ├── warn_header_spec.rb │ │ └── warnings_spec.rb │ │ ├── defines │ │ ├── concat_fragment_spec.rb │ │ └── concat_spec.rb │ │ ├── spec_helper.rb │ │ ├── spec_helper_acceptance.rb │ │ ├── spec_helper_local.rb │ │ └── unit │ │ └── type │ │ ├── concat_file_spec.rb │ │ └── concat_fragment_spec.rb ├── datacat │ ├── Changes │ ├── Gemfile │ ├── NOTES.md │ ├── README.md │ ├── Rakefile │ ├── TODO.md │ ├── checksums.json │ ├── lib │ │ ├── puppet │ │ │ ├── parser │ │ │ │ └── functions │ │ │ │ │ └── template_body.rb │ │ │ ├── provider │ │ │ │ ├── datacat_collector │ │ │ │ │ └── datacat_collector.rb │ │ │ │ └── datacat_fragment │ │ │ │ │ └── datacat_fragment.rb │ │ │ └── type │ │ │ │ ├── datacat_collector.rb │ │ │ │ └── datacat_fragment.rb │ │ └── puppet_x │ │ │ └── richardc │ │ │ └── datacat.rb │ ├── manifests │ │ └── init.pp │ ├── metadata.json │ └── spec │ │ ├── classes │ │ └── demo1_spec.rb │ │ ├── defines │ │ └── datacat_spec.rb │ │ ├── fixtures │ │ └── modules │ │ │ ├── demo1 │ │ │ ├── manifests │ │ │ │ └── init.pp │ │ │ └── templates │ │ │ │ └── sheeps.erb │ │ │ ├── demo2 │ │ │ ├── manifests │ │ │ │ └── init.pp │ │ │ └── templates │ │ │ │ └── merging.erb │ │ │ ├── demo3 │ │ │ ├── manifests │ │ │ │ └── init.pp │ │ │ └── templates │ │ │ │ └── hostgroups.cfg.erb │ │ │ ├── issue1 │ │ │ ├── manifests │ │ │ │ └── init.pp │ │ │ └── templates │ │ │ │ └── refers_to_scope.erb │ │ │ └── template_body │ │ │ └── templates │ │ │ └── test1.erb │ │ ├── functions │ │ └── template_body_spec.rb │ │ ├── spec_helper.rb │ │ ├── spec_helper_system.rb │ │ ├── system │ │ └── basic_spec.rb │ │ └── unit │ │ └── type │ │ └── datacat_collector_spec.rb ├── elastic_stack │ ├── .fixtures.yml │ ├── .gitattributes │ ├── .gitignore │ ├── .pmtignore │ ├── .project │ ├── .rspec │ ├── .rubocop.yml │ ├── .travis.yml │ ├── .yardopts │ ├── CHANGELOG.md │ ├── Gemfile │ ├── README.md │ ├── Rakefile │ ├── Vagrantfile │ ├── Vagrantfile.d │ │ ├── manifests │ │ │ └── site.pp │ │ └── provision.sh │ ├── appveyor.yml │ ├── manifests │ │ └── repo.pp │ ├── metadata.json │ └── spec │ │ ├── classes │ │ └── repo_spec.rb │ │ ├── default_facts.yml │ │ └── spec_helper.rb ├── elasticsearch │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── README.md │ ├── checksums.json │ ├── data │ │ ├── common.yaml │ │ ├── distro │ │ │ ├── Amazon.yaml │ │ │ ├── Amazon │ │ │ │ └── 2.yaml │ │ │ ├── Debian │ │ │ │ └── 7.yaml │ │ │ └── Ubuntu │ │ │ │ ├── 12.04.yaml │ │ │ │ └── 14.04.yaml │ │ ├── kernel │ │ │ ├── Darwin.yaml │ │ │ ├── Linux.yaml │ │ │ └── OpenBSD.yaml │ │ └── os │ │ │ ├── Debian.yaml │ │ │ ├── Gentoo.yaml │ │ │ ├── RedHat.yaml │ │ │ ├── RedHat │ │ │ ├── 5.yaml │ │ │ └── 6.yaml │ │ │ ├── Suse.yaml │ │ │ └── Suse │ │ │ └── 11.yaml │ ├── files │ │ └── etc │ │ │ └── init.d │ │ │ ├── elasticsearch.Debian.erb │ │ │ ├── elasticsearch.OpenBSD.erb │ │ │ ├── elasticsearch.RedHat.erb │ │ │ ├── elasticsearch.SLES.erb │ │ │ ├── elasticsearch.openrc.erb │ │ │ └── elasticsearch.systemd.erb │ ├── hiera.yaml │ ├── lib │ │ ├── facter │ │ │ └── es_facts.rb │ │ ├── puppet │ │ │ ├── feature │ │ │ │ └── elasticsearch_shield_users_native.rb │ │ │ ├── parser │ │ │ │ └── functions │ │ │ │ │ ├── array_suffix.rb │ │ │ │ │ ├── concat_merge.rb │ │ │ │ │ ├── deep_implode.rb │ │ │ │ │ ├── es_plugin_name.rb │ │ │ │ │ └── plugin_dir.rb │ │ │ ├── provider │ │ │ │ ├── elastic_parsedfile.rb │ │ │ │ ├── elastic_plugin.rb │ │ │ │ ├── elastic_rest.rb │ │ │ │ ├── elastic_user_command.rb │ │ │ │ ├── elastic_user_roles.rb │ │ │ │ ├── elastic_yaml.rb │ │ │ │ ├── elasticsearch_index │ │ │ │ │ └── ruby.rb │ │ │ │ ├── elasticsearch_keystore │ │ │ │ │ └── elasticsearch_keystore.rb │ │ │ │ ├── elasticsearch_pipeline │ │ │ │ │ └── ruby.rb │ │ │ │ ├── elasticsearch_plugin │ │ │ │ │ ├── elasticsearch_plugin.rb │ │ │ │ │ └── plugin.rb │ │ │ │ ├── elasticsearch_role │ │ │ │ │ ├── shield.rb │ │ │ │ │ └── xpack.rb │ │ │ │ ├── elasticsearch_role_mapping │ │ │ │ │ ├── shield.rb │ │ │ │ │ └── xpack.rb │ │ │ │ ├── elasticsearch_service_file │ │ │ │ │ └── ruby.rb │ │ │ │ ├── elasticsearch_snapshot_repository │ │ │ │ │ └── ruby.rb │ │ │ │ ├── elasticsearch_template │ │ │ │ │ └── ruby.rb │ │ │ │ ├── elasticsearch_user │ │ │ │ │ ├── esusers.rb │ │ │ │ │ ├── shield.rb │ │ │ │ │ ├── users.rb │ │ │ │ │ └── xpack.rb │ │ │ │ ├── elasticsearch_user_roles │ │ │ │ │ ├── shield.rb │ │ │ │ │ └── xpack.rb │ │ │ │ └── es_instance_conn_validator │ │ │ │ │ └── tcp_port.rb │ │ │ ├── type │ │ │ │ ├── elasticsearch_index.rb │ │ │ │ ├── elasticsearch_keystore.rb │ │ │ │ ├── elasticsearch_pipeline.rb │ │ │ │ ├── elasticsearch_plugin.rb │ │ │ │ ├── elasticsearch_role.rb │ │ │ │ ├── elasticsearch_role_mapping.rb │ │ │ │ ├── elasticsearch_service_file.rb │ │ │ │ ├── elasticsearch_snapshot_repository.rb │ │ │ │ ├── elasticsearch_template.rb │ │ │ │ ├── elasticsearch_user.rb │ │ │ │ ├── elasticsearch_user_roles.rb │ │ │ │ └── es_instance_conn_validator.rb │ │ │ └── util │ │ │ │ └── es_instance_validator.rb │ │ └── puppet_x │ │ │ └── elastic │ │ │ ├── deep_implode.rb │ │ │ ├── deep_to_i.rb │ │ │ ├── elasticsearch_rest_resource.rb │ │ │ ├── es_versioning.rb │ │ │ ├── hash.rb │ │ │ └── plugin_parsing.rb │ ├── manifests │ │ ├── config.pp │ │ ├── index.pp │ │ ├── init.pp │ │ ├── instance.pp │ │ ├── package.pp │ │ ├── pipeline.pp │ │ ├── plugin.pp │ │ ├── repo.pp │ │ ├── role.pp │ │ ├── script.pp │ │ ├── service.pp │ │ ├── service │ │ │ ├── init.pp │ │ │ ├── openbsd.pp │ │ │ ├── openrc.pp │ │ │ └── systemd.pp │ │ ├── snapshot_repository.pp │ │ ├── template.pp │ │ └── user.pp │ ├── metadata.json │ ├── templates │ │ ├── etc │ │ │ ├── elasticsearch │ │ │ │ ├── elasticsearch.yml.erb │ │ │ │ ├── jvm.options.erb │ │ │ │ ├── log4j2.properties.erb │ │ │ │ └── logging.yml.erb │ │ │ └── sysconfig │ │ │ │ └── defaults.erb │ │ └── usr │ │ │ └── lib │ │ │ └── tmpfiles.d │ │ │ └── elasticsearch.conf.erb │ └── types │ │ ├── multipath.pp │ │ └── status.pp ├── firewall │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── LICENSE │ ├── MAINTAINERS.md │ ├── NOTICE │ ├── README.markdown │ ├── Rakefile │ ├── checksums.json │ ├── lib │ │ ├── facter │ │ │ ├── ip6tables_version.rb │ │ │ ├── iptables_persistent_version.rb │ │ │ └── iptables_version.rb │ │ └── puppet │ │ │ ├── provider │ │ │ ├── firewall.rb │ │ │ ├── firewall │ │ │ │ ├── ip6tables.rb │ │ │ │ └── iptables.rb │ │ │ └── firewallchain │ │ │ │ └── iptables_chain.rb │ │ │ ├── type │ │ │ ├── firewall.rb │ │ │ └── firewallchain.rb │ │ │ └── util │ │ │ ├── firewall.rb │ │ │ └── ipcidr.rb │ ├── locales │ │ └── config.yaml │ ├── manifests │ │ ├── init.pp │ │ ├── linux.pp │ │ ├── linux │ │ │ ├── archlinux.pp │ │ │ ├── debian.pp │ │ │ ├── gentoo.pp │ │ │ └── redhat.pp │ │ └── params.pp │ ├── metadata.json │ └── spec │ │ ├── acceptance │ │ ├── change_source_spec.rb │ │ ├── class_spec.rb │ │ ├── connlimit_spec.rb │ │ ├── connmark_spec.rb │ │ ├── firewall_bridging_spec.rb │ │ ├── firewall_clusterip_spec.rb │ │ ├── firewall_dscp_spec.rb │ │ ├── firewall_gid_spec.rb │ │ ├── firewall_iptmodules_spec.rb │ │ ├── firewall_mss_spec.rb │ │ ├── firewall_spec.rb │ │ ├── firewall_tee_spec.rb │ │ ├── firewall_time_spec.rb │ │ ├── firewall_uid_spec.rb │ │ ├── firewallchain_spec.rb │ │ ├── hashlimit_spec.rb │ │ ├── invert_spec.rb │ │ ├── ip6_fragment_spec.rb │ │ ├── isfragment_spec.rb │ │ ├── match_mark_spec.rb │ │ ├── nflog_spec.rb │ │ ├── nodesets │ │ │ ├── centos-7-x64.yml │ │ │ ├── debian-8-x64.yml │ │ │ ├── default.yml │ │ │ ├── docker │ │ │ │ ├── centos-7.yml │ │ │ │ ├── debian-8.yml │ │ │ │ └── ubuntu-14.04.yml │ │ │ └── new │ │ │ │ ├── aio │ │ │ │ ├── debian-8-64mda.yml │ │ │ │ ├── redhat-6-64mda.yml │ │ │ │ ├── redhat-7-64mda.yml │ │ │ │ ├── ubuntu-1404-64mda.yml │ │ │ │ └── ubuntu-1604-64mda.yml │ │ │ │ └── pe │ │ │ │ ├── centos-5-64mda.yml │ │ │ │ ├── centos-6-64mda.yml │ │ │ │ ├── centos-7-64mda.yml │ │ │ │ ├── debian-6-64mda.yml │ │ │ │ ├── debian-7-64mda.yml │ │ │ │ ├── debian-8-64mda.yml │ │ │ │ ├── oracle-5-64mda.yml │ │ │ │ ├── oracle-6-64mda.yml │ │ │ │ ├── oracle-7-64mda.yml │ │ │ │ ├── redhat-5-64mda.yml │ │ │ │ ├── redhat-6-64mda.yml │ │ │ │ ├── redhat-7-64mda.yml │ │ │ │ ├── scientific-5-64mda.yml │ │ │ │ ├── scientific-6-64mda.yml │ │ │ │ ├── scientific-7-64mda.yml │ │ │ │ ├── sles-10-64mda.yml │ │ │ │ ├── sles-11-64mda.yml │ │ │ │ ├── sles-12-64mda.yml │ │ │ │ ├── ubuntu-1004-64mda.yml │ │ │ │ ├── ubuntu-1204-64mda.yml │ │ │ │ ├── ubuntu-1404-64mda.yml │ │ │ │ └── ubuntu-1604-64mda.yml │ │ ├── params_spec.rb │ │ ├── purge_spec.rb │ │ ├── resource_cmd_spec.rb │ │ ├── rules_spec.rb │ │ ├── socket_spec.rb │ │ └── standard_usage_spec.rb │ │ ├── default_facts.yml │ │ ├── fixtures │ │ ├── ip6tables │ │ │ └── conversion_hash.rb │ │ └── iptables │ │ │ └── conversion_hash.rb │ │ ├── spec_helper.rb │ │ ├── spec_helper_acceptance.rb │ │ ├── spec_helper_local.rb │ │ └── unit │ │ ├── classes │ │ ├── firewall_linux_archlinux_spec.rb │ │ ├── firewall_linux_debian_spec.rb │ │ ├── firewall_linux_gentoo_spec.rb │ │ ├── firewall_linux_redhat_spec.rb │ │ ├── firewall_linux_spec.rb │ │ └── firewall_spec.rb │ │ ├── documentation │ │ └── readme_spec.rb │ │ ├── facter │ │ ├── iptables_persistent_version_spec.rb │ │ └── iptables_spec.rb │ │ └── puppet │ │ ├── provider │ │ ├── ip6tables_spec.rb │ │ ├── iptables_chain_spec.rb │ │ └── iptables_spec.rb │ │ ├── type │ │ ├── firewall_spec.rb │ │ └── firewallchain_spec.rb │ │ └── util │ │ ├── firewall_spec.rb │ │ └── ipcidr_spec.rb ├── gcc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── checksums.json │ ├── manifests │ │ ├── init.pp │ │ └── params.pp │ ├── metadata.json │ └── tests │ │ ├── init.pp │ │ └── params.pp ├── java │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── LICENSE │ ├── MAINTAINERS.md │ ├── NOTICE │ ├── README.markdown │ ├── Rakefile │ ├── checksums.json │ ├── examples │ │ ├── alternative.pp │ │ ├── init.pp │ │ └── oracle.pp │ ├── lib │ │ └── facter │ │ │ ├── java_default_home.rb │ │ │ ├── java_libjvm_path.rb │ │ │ ├── java_major_version.rb │ │ │ ├── java_patch_level.rb │ │ │ └── java_version.rb │ ├── locales │ │ └── config.yaml │ ├── manifests │ │ ├── config.pp │ │ ├── init.pp │ │ ├── oracle.pp │ │ └── params.pp │ ├── metadata.json │ └── spec │ │ ├── acceptance │ │ ├── install_spec.rb │ │ └── nodesets │ │ │ ├── centos-7-x64.yml │ │ │ ├── debian-8-x64.yml │ │ │ ├── default.yml │ │ │ └── docker │ │ │ ├── centos-7.yml │ │ │ ├── debian-8.yml │ │ │ └── ubuntu-14.04.yml │ │ ├── classes │ │ └── java_spec.rb │ │ ├── defines │ │ └── oracle_spec.rb │ │ ├── spec_helper.rb │ │ ├── spec_helper_acceptance.rb │ │ └── unit │ │ └── facter │ │ ├── java_default_home_spec.rb │ │ ├── java_libjvm_path_spec.rb │ │ ├── java_major_version_spec.rb │ │ ├── java_patch_level_spec.rb │ │ └── java_version_spec.rb ├── logrotate │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── CONTRIBUTORS │ ├── Gemfile │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── Rakefile │ ├── checksums.json │ ├── files │ │ └── .gitkeep │ ├── manifests │ │ ├── conf.pp │ │ ├── config.pp │ │ ├── cron.pp │ │ ├── defaults.pp │ │ ├── hourly.pp │ │ ├── init.pp │ │ ├── install.pp │ │ ├── params.pp │ │ ├── rule.pp │ │ └── rules.pp │ ├── metadata.json │ ├── spec │ │ ├── acceptance │ │ │ ├── class_spec.rb │ │ │ └── nodesets │ │ │ │ ├── archlinux-2-x64.yml │ │ │ │ ├── centos-511-x64.yml │ │ │ │ ├── centos-6-x64.yml │ │ │ │ ├── centos-64-x64.yml │ │ │ │ ├── centos-66-x64-pe.yml │ │ │ │ ├── centos-66-x64.yml │ │ │ │ ├── centos-7-x64.yml │ │ │ │ ├── centos-72-x64.yml │ │ │ │ ├── debian-609-x64.yml │ │ │ │ ├── debian-76-x64.yml │ │ │ │ ├── debian-78-x64.yml │ │ │ │ ├── debian-82-x64.yml │ │ │ │ ├── default.yml │ │ │ │ ├── docker │ │ │ │ ├── centos-5.yml │ │ │ │ ├── centos-6.yml │ │ │ │ ├── centos-7.yml │ │ │ │ ├── debian-7.yml │ │ │ │ ├── debian-8.yml │ │ │ │ ├── debian-9.yml │ │ │ │ ├── ubuntu-12.04.yml │ │ │ │ ├── ubuntu-14.04.yml │ │ │ │ └── ubuntu-16.04.yml │ │ │ │ ├── ec2 │ │ │ │ ├── amazonlinux-2016091.yml │ │ │ │ ├── image_templates.yaml │ │ │ │ ├── rhel-73-x64.yml │ │ │ │ ├── sles-12sp2-x64.yml │ │ │ │ ├── ubuntu-1604-x64.yml │ │ │ │ └── windows-2016-base-x64.yml │ │ │ │ ├── fedora-20-x64.yml │ │ │ │ ├── fedora-24-x64.yml │ │ │ │ ├── fedora-25-x64.yml │ │ │ │ ├── fedora-26-x64.yml │ │ │ │ ├── fedora-27-x64.yml │ │ │ │ ├── ubuntu-server-1204-x64.yml │ │ │ │ ├── ubuntu-server-12042-x64.yml │ │ │ │ ├── ubuntu-server-1404-x64.yml │ │ │ │ └── ubuntu-server-1604-x64.yml │ │ ├── classes │ │ │ ├── coverage_spec.rb │ │ │ ├── defaults_spec.rb │ │ │ ├── hourly_spec.rb │ │ │ └── init_spec.rb │ │ ├── default_facts.yml │ │ ├── defines │ │ │ ├── conf_spec.rb │ │ │ └── rule_spec.rb │ │ ├── shared_examples.rb │ │ ├── spec_helper.rb │ │ └── spec_helper_acceptance.rb │ ├── templates │ │ └── etc │ │ │ ├── cron │ │ │ └── logrotate.erb │ │ │ ├── logrotate.conf.erb │ │ │ └── logrotate.d │ │ │ └── rule.erb │ └── types │ │ ├── commands.pp │ │ ├── every.pp │ │ ├── path.pp │ │ └── size.pp ├── logstash │ ├── CHANGELOG │ ├── CONTRIBUTING.md │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── Vagrantfile │ ├── Vagrantfile.d │ │ ├── manifests │ │ │ └── site.pp │ │ └── server.sh │ ├── checksums.json │ ├── doc │ │ ├── _index.html │ │ ├── css │ │ │ ├── common.css │ │ │ ├── full_list.css │ │ │ └── style.css │ │ ├── file.README.html │ │ ├── frames.html │ │ ├── index.html │ │ ├── js │ │ │ ├── app.js │ │ │ ├── full_list.js │ │ │ └── jquery.js │ │ ├── puppet_class_list.html │ │ ├── puppet_classes │ │ │ ├── logstash.html │ │ │ ├── logstash_3A_3Aconfig.html │ │ │ ├── logstash_3A_3Apackage.html │ │ │ └── logstash_3A_3Aservice.html │ │ ├── puppet_defined_type_list.html │ │ ├── puppet_defined_types │ │ │ ├── logstash_3A_3Aconfigfile.html │ │ │ ├── logstash_3A_3Apatternfile.html │ │ │ └── logstash_3A_3Aplugin.html │ │ └── top-level-namespace.html │ ├── files │ │ ├── .gitignore │ │ ├── grok-pattern-0 │ │ ├── grok-pattern-1 │ │ ├── logstash-output-cowsay-5.0.0.zip │ │ └── null-output.conf │ ├── manifests │ │ ├── config.pp │ │ ├── configfile.pp │ │ ├── init.pp │ │ ├── package.pp │ │ ├── package │ │ │ └── install.pp │ │ ├── patternfile.pp │ │ ├── plugin.pp │ │ └── service.pp │ ├── metadata.json │ └── templates │ │ ├── configfile-template.erb │ │ ├── jvm.options.erb │ │ ├── logstash.yml.erb │ │ ├── pipelines.yml.erb │ │ └── startup.options.erb ├── postgresql │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── LICENSE │ ├── MAINTAINERS.md │ ├── NOTICE │ ├── README.md │ ├── Rakefile │ ├── checksums.json │ ├── files │ │ ├── RPM-GPG-KEY-PGDG │ │ └── validate_postgresql_connection.sh │ ├── lib │ │ └── puppet │ │ │ ├── parser │ │ │ └── functions │ │ │ │ ├── postgresql_acls_to_resources_hash.rb │ │ │ │ ├── postgresql_escape.rb │ │ │ │ └── postgresql_password.rb │ │ │ ├── provider │ │ │ ├── postgresql_conf │ │ │ │ └── parsed.rb │ │ │ ├── postgresql_conn_validator │ │ │ │ └── ruby.rb │ │ │ ├── postgresql_psql │ │ │ │ └── ruby.rb │ │ │ └── postgresql_replication_slot │ │ │ │ └── ruby.rb │ │ │ ├── type │ │ │ ├── postgresql_conf.rb │ │ │ ├── postgresql_conn_validator.rb │ │ │ ├── postgresql_psql.rb │ │ │ └── postgresql_replication_slot.rb │ │ │ └── util │ │ │ └── postgresql_validator.rb │ ├── locales │ │ ├── config.yaml │ │ ├── ja │ │ │ └── puppetlabs-postgresql.po │ │ └── puppetlabs-postgresql.pot │ ├── manifests │ │ ├── client.pp │ │ ├── globals.pp │ │ ├── lib │ │ │ ├── devel.pp │ │ │ ├── docs.pp │ │ │ ├── java.pp │ │ │ ├── perl.pp │ │ │ └── python.pp │ │ ├── params.pp │ │ ├── repo.pp │ │ ├── repo │ │ │ ├── apt_postgresql_org.pp │ │ │ └── yum_postgresql_org.pp │ │ ├── server.pp │ │ ├── server │ │ │ ├── config.pp │ │ │ ├── config_entry.pp │ │ │ ├── contrib.pp │ │ │ ├── database.pp │ │ │ ├── database_grant.pp │ │ │ ├── db.pp │ │ │ ├── extension.pp │ │ │ ├── grant.pp │ │ │ ├── grant_role.pp │ │ │ ├── initdb.pp │ │ │ ├── install.pp │ │ │ ├── passwd.pp │ │ │ ├── pg_hba_rule.pp │ │ │ ├── pg_ident_rule.pp │ │ │ ├── plperl.pp │ │ │ ├── plpython.pp │ │ │ ├── postgis.pp │ │ │ ├── reassign_owned_by.pp │ │ │ ├── recovery.pp │ │ │ ├── reload.pp │ │ │ ├── role.pp │ │ │ ├── schema.pp │ │ │ ├── service.pp │ │ │ ├── table_grant.pp │ │ │ └── tablespace.pp │ │ └── validate_db_connection.pp │ ├── metadata.json │ ├── readmes │ │ └── README_ja_JP.md │ ├── spec │ │ ├── acceptance │ │ │ ├── 00-utf8_encoding_spec.rb │ │ │ ├── alternative_port_spec.rb │ │ │ ├── db_spec.rb │ │ │ ├── default_parameters_spec.rb │ │ │ ├── nodesets │ │ │ │ ├── centos-7-x64.yml │ │ │ │ ├── debian-8-x64.yml │ │ │ │ ├── default.yml │ │ │ │ └── docker │ │ │ │ │ ├── centos-7.yml │ │ │ │ │ ├── debian-8.yml │ │ │ │ │ └── ubuntu-14.04.yml │ │ │ ├── postgresql_conn_validator_spec.rb │ │ │ ├── postgresql_psql_spec.rb │ │ │ ├── remote_access_spec.rb │ │ │ ├── server │ │ │ │ ├── config_entry_spec.rb │ │ │ │ ├── grant_role_spec.rb │ │ │ │ ├── grant_spec.rb │ │ │ │ ├── reassign_owned_by_spec.rb │ │ │ │ ├── recovery_spec.rb │ │ │ │ └── schema_spec.rb │ │ │ ├── sql_task_spec.rb │ │ │ └── z_alternative_pgdata_spec.rb │ │ ├── spec_helper.rb │ │ ├── spec_helper_acceptance.rb │ │ ├── spec_helper_local.rb │ │ └── unit │ │ │ ├── classes │ │ │ ├── client_spec.rb │ │ │ ├── globals_spec.rb │ │ │ ├── lib │ │ │ │ ├── devel_spec.rb │ │ │ │ ├── java_spec.rb │ │ │ │ ├── perl_spec.rb │ │ │ │ ├── pgdocs_spec.rb │ │ │ │ └── python_spec.rb │ │ │ ├── params_spec.rb │ │ │ ├── repo_spec.rb │ │ │ ├── server │ │ │ │ ├── config_spec.rb │ │ │ │ ├── contrib_spec.rb │ │ │ │ ├── initdb_spec.rb │ │ │ │ ├── plperl_spec.rb │ │ │ │ ├── plpython_spec.rb │ │ │ │ └── postgis_spec.rb │ │ │ └── server_spec.rb │ │ │ ├── defines │ │ │ ├── server │ │ │ │ ├── config_entry_spec.rb │ │ │ │ ├── database_grant_spec.rb │ │ │ │ ├── database_spec.rb │ │ │ │ ├── db_spec.rb │ │ │ │ ├── extension_spec.rb │ │ │ │ ├── grant_role_spec.rb │ │ │ │ ├── grant_spec.rb │ │ │ │ ├── pg_hba_rule_spec.rb │ │ │ │ ├── pg_ident_rule_spec.rb │ │ │ │ ├── reassign_owned_by_spec.rb │ │ │ │ ├── recovery_spec.rb │ │ │ │ ├── role_spec.rb │ │ │ │ ├── schema_spec.rb │ │ │ │ ├── table_grant_spec.rb │ │ │ │ └── tablespace_spec.rb │ │ │ └── validate_db_connection_spec.rb │ │ │ ├── functions │ │ │ ├── postgresql_acls_to_resources_hash_spec.rb │ │ │ ├── postgresql_escape_spec.rb │ │ │ └── postgresql_password_spec.rb │ │ │ ├── provider │ │ │ └── postgresql_conf │ │ │ │ └── parsed_spec.rb │ │ │ ├── puppet │ │ │ ├── provider │ │ │ │ ├── postgresql_conn_validator │ │ │ │ │ └── ruby_spec.rb │ │ │ │ ├── postgresql_psql │ │ │ │ │ └── ruby_spec.rb │ │ │ │ └── postgresql_replication_slot │ │ │ │ │ └── ruby_spec.rb │ │ │ └── type │ │ │ │ ├── postgresql_conn_validator.rb │ │ │ │ ├── postgresql_psql_spec.rb │ │ │ │ └── postgresql_replication_slot_spec.rb │ │ │ └── type │ │ │ └── postgresql_conf_spec.rb │ ├── tasks │ │ ├── sql.json │ │ └── sql.rb │ └── templates │ │ ├── pg_hba_rule.conf │ │ ├── pg_ident_rule.conf │ │ ├── recovery.conf.erb │ │ └── systemd-override.erb ├── rsyslog │ ├── Gemfile │ ├── LICENSE │ ├── README.md │ ├── Rakefile │ ├── checksums.json │ ├── lib │ │ └── facter │ │ │ └── rsyslog_version.rb │ ├── manifests │ │ ├── client.pp │ │ ├── config.pp │ │ ├── database.pp │ │ ├── imfile.pp │ │ ├── init.pp │ │ ├── install.pp │ │ ├── modload.pp │ │ ├── params.pp │ │ ├── server.pp │ │ ├── service.pp │ │ └── snippet.pp │ ├── metadata.json │ ├── spec │ │ ├── classes │ │ │ ├── rsyslog_client_spec.rb │ │ │ ├── rsyslog_database_spec.rb │ │ │ ├── rsyslog_server_spec.rb │ │ │ └── rsyslog_spec.rb │ │ ├── defines │ │ │ ├── rsyslog_imfile_spec.rb │ │ │ └── rsyslog_snippet_spec.rb │ │ ├── spec.opts │ │ └── spec_helper.rb │ ├── templates │ │ ├── client │ │ │ ├── config.conf.erb │ │ │ ├── local.conf.erb │ │ │ └── remote.conf.erb │ │ ├── database.conf.erb │ │ ├── imfile.erb │ │ ├── modload.erb │ │ ├── rsyslog.conf.erb │ │ ├── rsyslog_default.erb │ │ ├── rsyslog_default_gentoo.erb │ │ ├── rsyslog_default_rhel7.erb │ │ ├── rsyslog_default_suse.erb │ │ ├── server-default.conf.erb │ │ ├── server-hostname.conf.erb │ │ └── server │ │ │ ├── _default-footer.conf.erb │ │ │ └── _default-header.conf.erb │ └── tests │ │ ├── database.pp │ │ ├── init.pp │ │ ├── log_templates.pp │ │ └── multiple_hosts.pp ├── stdlib │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── LICENSE │ ├── MAINTAINERS.md │ ├── NOTICE │ ├── README.md │ ├── README_DEVELOPER.markdown │ ├── README_SPECS.markdown │ ├── RELEASE_PROCESS.markdown │ ├── Rakefile │ ├── appveyor.yml │ ├── checksums.json │ ├── examples │ │ ├── file_line.pp │ │ ├── has_interface_with.pp │ │ ├── has_ip_address.pp │ │ ├── has_ip_network.pp │ │ └── init.pp │ ├── lib │ │ ├── facter │ │ │ ├── facter_dot_d.rb │ │ │ ├── package_provider.rb │ │ │ ├── pe_version.rb │ │ │ ├── puppet_settings.rb │ │ │ ├── root_home.rb │ │ │ ├── service_provider.rb │ │ │ └── util │ │ │ │ └── puppet_settings.rb │ │ └── puppet │ │ │ ├── functions │ │ │ ├── deprecation.rb │ │ │ ├── fact.rb │ │ │ ├── is_a.rb │ │ │ ├── is_absolute_path.rb │ │ │ ├── is_array.rb │ │ │ ├── is_bool.rb │ │ │ ├── is_float.rb │ │ │ ├── is_ip_address.rb │ │ │ ├── is_ipv4_address.rb │ │ │ ├── is_ipv6_address.rb │ │ │ ├── is_numeric.rb │ │ │ ├── is_string.rb │ │ │ ├── length.rb │ │ │ ├── sprintf_hash.rb │ │ │ ├── to_json.rb │ │ │ ├── to_json_pretty.rb │ │ │ ├── to_yaml.rb │ │ │ ├── type_of.rb │ │ │ ├── validate_absolute_path.rb │ │ │ ├── validate_array.rb │ │ │ ├── validate_bool.rb │ │ │ ├── validate_hash.rb │ │ │ ├── validate_integer.rb │ │ │ ├── validate_ip_address.rb │ │ │ ├── validate_ipv4_address.rb │ │ │ ├── validate_ipv6_address.rb │ │ │ ├── validate_legacy.rb │ │ │ ├── validate_numeric.rb │ │ │ ├── validate_re.rb │ │ │ ├── validate_slength.rb │ │ │ └── validate_string.rb │ │ │ ├── parser │ │ │ └── functions │ │ │ │ ├── abs.rb │ │ │ │ ├── any2array.rb │ │ │ │ ├── any2bool.rb │ │ │ │ ├── assert_private.rb │ │ │ │ ├── base64.rb │ │ │ │ ├── basename.rb │ │ │ │ ├── bool2num.rb │ │ │ │ ├── bool2str.rb │ │ │ │ ├── camelcase.rb │ │ │ │ ├── capitalize.rb │ │ │ │ ├── ceiling.rb │ │ │ │ ├── chomp.rb │ │ │ │ ├── chop.rb │ │ │ │ ├── clamp.rb │ │ │ │ ├── concat.rb │ │ │ │ ├── convert_base.rb │ │ │ │ ├── count.rb │ │ │ │ ├── deep_merge.rb │ │ │ │ ├── defined_with_params.rb │ │ │ │ ├── delete.rb │ │ │ │ ├── delete_at.rb │ │ │ │ ├── delete_regex.rb │ │ │ │ ├── delete_undef_values.rb │ │ │ │ ├── delete_values.rb │ │ │ │ ├── deprecation.rb │ │ │ │ ├── difference.rb │ │ │ │ ├── dig.rb │ │ │ │ ├── dig44.rb │ │ │ │ ├── dirname.rb │ │ │ │ ├── dos2unix.rb │ │ │ │ ├── downcase.rb │ │ │ │ ├── empty.rb │ │ │ │ ├── enclose_ipv6.rb │ │ │ │ ├── ensure_packages.rb │ │ │ │ ├── ensure_resource.rb │ │ │ │ ├── ensure_resources.rb │ │ │ │ ├── flatten.rb │ │ │ │ ├── floor.rb │ │ │ │ ├── fqdn_rand_string.rb │ │ │ │ ├── fqdn_rotate.rb │ │ │ │ ├── fqdn_uuid.rb │ │ │ │ ├── get_module_path.rb │ │ │ │ ├── getparam.rb │ │ │ │ ├── getvar.rb │ │ │ │ ├── glob.rb │ │ │ │ ├── grep.rb │ │ │ │ ├── has_interface_with.rb │ │ │ │ ├── has_ip_address.rb │ │ │ │ ├── has_ip_network.rb │ │ │ │ ├── has_key.rb │ │ │ │ ├── hash.rb │ │ │ │ ├── intersection.rb │ │ │ │ ├── is_absolute_path.rb │ │ │ │ ├── is_array.rb │ │ │ │ ├── is_bool.rb │ │ │ │ ├── is_domain_name.rb │ │ │ │ ├── is_email_address.rb │ │ │ │ ├── is_float.rb │ │ │ │ ├── is_function_available.rb │ │ │ │ ├── is_hash.rb │ │ │ │ ├── is_integer.rb │ │ │ │ ├── is_ip_address.rb │ │ │ │ ├── is_ipv4_address.rb │ │ │ │ ├── is_ipv6_address.rb │ │ │ │ ├── is_mac_address.rb │ │ │ │ ├── is_numeric.rb │ │ │ │ ├── is_string.rb │ │ │ │ ├── join.rb │ │ │ │ ├── join_keys_to_values.rb │ │ │ │ ├── keys.rb │ │ │ │ ├── load_module_metadata.rb │ │ │ │ ├── loadjson.rb │ │ │ │ ├── loadyaml.rb │ │ │ │ ├── lstrip.rb │ │ │ │ ├── max.rb │ │ │ │ ├── member.rb │ │ │ │ ├── merge.rb │ │ │ │ ├── min.rb │ │ │ │ ├── num2bool.rb │ │ │ │ ├── parsejson.rb │ │ │ │ ├── parseyaml.rb │ │ │ │ ├── pick.rb │ │ │ │ ├── pick_default.rb │ │ │ │ ├── prefix.rb │ │ │ │ ├── private.rb │ │ │ │ ├── pry.rb │ │ │ │ ├── pw_hash.rb │ │ │ │ ├── range.rb │ │ │ │ ├── regexpescape.rb │ │ │ │ ├── reject.rb │ │ │ │ ├── reverse.rb │ │ │ │ ├── round.rb │ │ │ │ ├── rstrip.rb │ │ │ │ ├── seeded_rand.rb │ │ │ │ ├── shell_escape.rb │ │ │ │ ├── shell_join.rb │ │ │ │ ├── shell_split.rb │ │ │ │ ├── shuffle.rb │ │ │ │ ├── size.rb │ │ │ │ ├── sort.rb │ │ │ │ ├── squeeze.rb │ │ │ │ ├── str2bool.rb │ │ │ │ ├── str2saltedsha512.rb │ │ │ │ ├── strftime.rb │ │ │ │ ├── strip.rb │ │ │ │ ├── suffix.rb │ │ │ │ ├── swapcase.rb │ │ │ │ ├── time.rb │ │ │ │ ├── to_bytes.rb │ │ │ │ ├── try_get_value.rb │ │ │ │ ├── type.rb │ │ │ │ ├── type3x.rb │ │ │ │ ├── union.rb │ │ │ │ ├── unique.rb │ │ │ │ ├── unix2dos.rb │ │ │ │ ├── upcase.rb │ │ │ │ ├── uriescape.rb │ │ │ │ ├── validate_absolute_path.rb │ │ │ │ ├── validate_array.rb │ │ │ │ ├── validate_augeas.rb │ │ │ │ ├── validate_bool.rb │ │ │ │ ├── validate_cmd.rb │ │ │ │ ├── validate_domain_name.rb │ │ │ │ ├── validate_email_address.rb │ │ │ │ ├── validate_hash.rb │ │ │ │ ├── validate_integer.rb │ │ │ │ ├── validate_ip_address.rb │ │ │ │ ├── validate_ipv4_address.rb │ │ │ │ ├── validate_ipv6_address.rb │ │ │ │ ├── validate_numeric.rb │ │ │ │ ├── validate_re.rb │ │ │ │ ├── validate_slength.rb │ │ │ │ ├── validate_string.rb │ │ │ │ ├── validate_x509_rsa_key_pair.rb │ │ │ │ ├── values.rb │ │ │ │ ├── values_at.rb │ │ │ │ └── zip.rb │ │ │ ├── provider │ │ │ └── file_line │ │ │ │ └── ruby.rb │ │ │ └── type │ │ │ ├── anchor.rb │ │ │ └── file_line.rb │ ├── locales │ │ ├── config.yaml │ │ ├── ja │ │ │ └── puppetlabs-stdlib.po │ │ └── puppetlabs-stdlib.pot │ ├── manifests │ │ ├── init.pp │ │ └── stages.pp │ ├── metadata.json │ ├── readmes │ │ └── README_ja_JP.md │ ├── spec │ │ ├── acceptance │ │ │ ├── abs_spec.rb │ │ │ ├── anchor_spec.rb │ │ │ ├── any2array_spec.rb │ │ │ ├── base64_spec.rb │ │ │ ├── bool2num_spec.rb │ │ │ ├── build_csv.rb │ │ │ ├── capitalize_spec.rb │ │ │ ├── ceiling_spec.rb │ │ │ ├── chomp_spec.rb │ │ │ ├── chop_spec.rb │ │ │ ├── clamp_spec.rb │ │ │ ├── concat_spec.rb │ │ │ ├── count_spec.rb │ │ │ ├── deep_merge_spec.rb │ │ │ ├── defined_with_params_spec.rb │ │ │ ├── delete_at_spec.rb │ │ │ ├── delete_spec.rb │ │ │ ├── delete_undef_values_spec.rb │ │ │ ├── delete_values_spec.rb │ │ │ ├── deprecation_spec.rb │ │ │ ├── difference_spec.rb │ │ │ ├── dirname_spec.rb │ │ │ ├── downcase_spec.rb │ │ │ ├── empty_spec.rb │ │ │ ├── ensure_resource_spec.rb │ │ │ ├── flatten_spec.rb │ │ │ ├── floor_spec.rb │ │ │ ├── fqdn_rand_string_spec.rb │ │ │ ├── fqdn_rotate_spec.rb │ │ │ ├── get_module_path_spec.rb │ │ │ ├── getparam_spec.rb │ │ │ ├── getvar_spec.rb │ │ │ ├── grep_spec.rb │ │ │ ├── has_interface_with_spec.rb │ │ │ ├── has_ip_address_spec.rb │ │ │ ├── has_ip_network_spec.rb │ │ │ ├── has_key_spec.rb │ │ │ ├── hash_spec.rb │ │ │ ├── intersection_spec.rb │ │ │ ├── is_a_spec.rb │ │ │ ├── is_array_spec.rb │ │ │ ├── is_bool_spec.rb │ │ │ ├── is_domain_name_spec.rb │ │ │ ├── is_float_spec.rb │ │ │ ├── is_function_available_spec.rb │ │ │ ├── is_hash_spec.rb │ │ │ ├── is_integer_spec.rb │ │ │ ├── is_ip_address_spec.rb │ │ │ ├── is_ipv4_address_spec.rb │ │ │ ├── is_ipv6_address_spec.rb │ │ │ ├── is_mac_address_spec.rb │ │ │ ├── is_numeric_spec.rb │ │ │ ├── is_string_spec.rb │ │ │ ├── join_keys_to_values_spec.rb │ │ │ ├── join_spec.rb │ │ │ ├── keys_spec.rb │ │ │ ├── loadjson_spec.rb │ │ │ ├── loadyaml_spec.rb │ │ │ ├── lstrip_spec.rb │ │ │ ├── max_spec.rb │ │ │ ├── member_spec.rb │ │ │ ├── merge_spec.rb │ │ │ ├── min_spec.rb │ │ │ ├── nodesets │ │ │ │ ├── centos-7-x64.yml │ │ │ │ ├── debian-8-x64.yml │ │ │ │ ├── default.yml │ │ │ │ └── docker │ │ │ │ │ ├── centos-7.yml │ │ │ │ │ ├── debian-8.yml │ │ │ │ │ └── ubuntu-14.04.yml │ │ │ ├── num2bool_spec.rb │ │ │ ├── parsejson_spec.rb │ │ │ ├── parseyaml_spec.rb │ │ │ ├── pick_default_spec.rb │ │ │ ├── pick_spec.rb │ │ │ ├── prefix_spec.rb │ │ │ ├── pw_hash_spec.rb │ │ │ ├── range_spec.rb │ │ │ ├── reject_spec.rb │ │ │ ├── reverse_spec.rb │ │ │ ├── rstrip_spec.rb │ │ │ ├── shuffle_spec.rb │ │ │ ├── size_spec.rb │ │ │ ├── sort_spec.rb │ │ │ ├── squeeze_spec.rb │ │ │ ├── str2bool_spec.rb │ │ │ ├── str2saltedsha512_spec.rb │ │ │ ├── strftime_spec.rb │ │ │ ├── strip_spec.rb │ │ │ ├── suffix_spec.rb │ │ │ ├── swapcase_spec.rb │ │ │ ├── time_spec.rb │ │ │ ├── to_bytes_spec.rb │ │ │ ├── try_get_value_spec.rb │ │ │ ├── type3x_spec.rb │ │ │ ├── type_spec.rb │ │ │ ├── union_spec.rb │ │ │ ├── unique_spec.rb │ │ │ ├── upcase_spec.rb │ │ │ ├── uriescape_spec.rb │ │ │ ├── validate_absolute_path_spec.rb │ │ │ ├── validate_array_spec.rb │ │ │ ├── validate_augeas_spec.rb │ │ │ ├── validate_bool_spec.rb │ │ │ ├── validate_cmd_spec.rb │ │ │ ├── validate_hash_spec.rb │ │ │ ├── validate_ipv4_address_spec.rb │ │ │ ├── validate_ipv6_address_spec.rb │ │ │ ├── validate_re_spec.rb │ │ │ ├── validate_slength_spec.rb │ │ │ ├── validate_string_spec.rb │ │ │ ├── values_at_spec.rb │ │ │ ├── values_spec.rb │ │ │ └── zip_spec.rb │ │ ├── fixtures │ │ │ ├── dscacheutil │ │ │ │ └── root │ │ │ ├── lsuser │ │ │ │ └── root │ │ │ └── test │ │ │ │ └── manifests │ │ │ │ ├── base32.pp │ │ │ │ ├── base64.pp │ │ │ │ ├── deftype.pp │ │ │ │ └── ensure_resources.pp │ │ ├── functions │ │ │ ├── abs_spec.rb │ │ │ ├── any2array_spec.rb │ │ │ ├── any2bool_spec.rb │ │ │ ├── assert_private_spec.rb │ │ │ ├── base64_spec.rb │ │ │ ├── basename_spec.rb │ │ │ ├── bool2num_spec.rb │ │ │ ├── bool2str_spec.rb │ │ │ ├── camelcase_spec.rb │ │ │ ├── capitalize_spec.rb │ │ │ ├── ceiling_spec.rb │ │ │ ├── chomp_spec.rb │ │ │ ├── chop_spec.rb │ │ │ ├── clamp_spec.rb │ │ │ ├── concat_spec.rb │ │ │ ├── convert_base_spec.rb │ │ │ ├── count_spec.rb │ │ │ ├── deep_merge_spec.rb │ │ │ ├── defined_with_params_spec.rb │ │ │ ├── delete_at_spec.rb │ │ │ ├── delete_regex_spec.rb │ │ │ ├── delete_spec.rb │ │ │ ├── delete_undef_values_spec.rb │ │ │ ├── delete_values_spec.rb │ │ │ ├── deprecation_spec.rb │ │ │ ├── difference_spec.rb │ │ │ ├── dig44_spec.rb │ │ │ ├── dig_spec.rb │ │ │ ├── dirname_spec.rb │ │ │ ├── dos2unix_spec.rb │ │ │ ├── downcase_spec.rb │ │ │ ├── empty_spec.rb │ │ │ ├── ensure_packages_spec.rb │ │ │ ├── ensure_resource_spec.rb │ │ │ ├── ensure_resources_spec.rb │ │ │ ├── flatten_spec.rb │ │ │ ├── floor_spec.rb │ │ │ ├── fqdn_rand_string_spec.rb │ │ │ ├── fqdn_rotate_spec.rb │ │ │ ├── fqdn_uuid_spec.rb │ │ │ ├── get_module_path_spec.rb │ │ │ ├── getparam_spec.rb │ │ │ ├── getvar_spec.rb │ │ │ ├── glob_spec.rb │ │ │ ├── grep_spec.rb │ │ │ ├── has_interface_with_spec.rb │ │ │ ├── has_ip_address_spec.rb │ │ │ ├── has_ip_network_spec.rb │ │ │ ├── has_key_spec.rb │ │ │ ├── hash_spec.rb │ │ │ ├── intersection_spec.rb │ │ │ ├── is_a_spec.rb │ │ │ ├── is_array_spec.rb │ │ │ ├── is_bool_spec.rb │ │ │ ├── is_domain_name_spec.rb │ │ │ ├── is_email_address_spec.rb │ │ │ ├── is_float_spec.rb │ │ │ ├── is_function_available_spec.rb │ │ │ ├── is_hash_spec.rb │ │ │ ├── is_integer_spec.rb │ │ │ ├── is_ip_address_spec.rb │ │ │ ├── is_ipv4_address_spec.rb │ │ │ ├── is_ipv6_address_spec.rb │ │ │ ├── is_mac_address_spec.rb │ │ │ ├── is_numeric_spec.rb │ │ │ ├── is_string_spec.rb │ │ │ ├── join_keys_to_values_spec.rb │ │ │ ├── join_spec.rb │ │ │ ├── keys_spec.rb │ │ │ ├── length_spec.rb │ │ │ ├── load_module_metadata_spec.rb │ │ │ ├── loadjson_spec.rb │ │ │ ├── loadyaml_spec.rb │ │ │ ├── lstrip_spec.rb │ │ │ ├── max_spec.rb │ │ │ ├── member_spec.rb │ │ │ ├── merge_spec.rb │ │ │ ├── min_spec.rb │ │ │ ├── num2bool_spec.rb │ │ │ ├── parsejson_spec.rb │ │ │ ├── parseyaml_spec.rb │ │ │ ├── pick_default_spec.rb │ │ │ ├── pick_spec.rb │ │ │ ├── prefix_spec.rb │ │ │ ├── private_spec.rb │ │ │ ├── pw_hash_spec.rb │ │ │ ├── range_spec.rb │ │ │ ├── regexpescape_spec.rb │ │ │ ├── reject_spec.rb │ │ │ ├── reverse_spec.rb │ │ │ ├── round_spec.rb │ │ │ ├── rstrip_spec.rb │ │ │ ├── seeded_rand_spec.rb │ │ │ ├── shell_escape_spec.rb │ │ │ ├── shell_join_spec.rb │ │ │ ├── shell_split_spec.rb │ │ │ ├── shuffle_spec.rb │ │ │ ├── size_spec.rb │ │ │ ├── sort_spec.rb │ │ │ ├── sprintf_hash_spec.rb │ │ │ ├── squeeze_spec.rb │ │ │ ├── str2bool_spec.rb │ │ │ ├── str2saltedsha512_spec.rb │ │ │ ├── strftime_spec.rb │ │ │ ├── strip_spec.rb │ │ │ ├── suffix_spec.rb │ │ │ ├── swapcase_spec.rb │ │ │ ├── time_spec.rb │ │ │ ├── to_bytes_spec.rb │ │ │ ├── to_json_pretty_spec.rb │ │ │ ├── to_json_spec.rb │ │ │ ├── to_yaml_spec.rb │ │ │ ├── try_get_value_spec.rb │ │ │ ├── type3x_spec.rb │ │ │ ├── type_of_spec.rb │ │ │ ├── type_spec.rb │ │ │ ├── union_spec.rb │ │ │ ├── unique_spec.rb │ │ │ ├── unix2dos_spec.rb │ │ │ ├── upcase_spec.rb │ │ │ ├── uriescape_spec.rb │ │ │ ├── validate_absolute_path_spec.rb │ │ │ ├── validate_array_spec.rb │ │ │ ├── validate_augeas_spec.rb │ │ │ ├── validate_bool_spec.rb │ │ │ ├── validate_cmd_spec.rb │ │ │ ├── validate_domain_name_spec.rb │ │ │ ├── validate_email_address_spec.rb │ │ │ ├── validate_hash_spec.rb │ │ │ ├── validate_integer_spec.rb │ │ │ ├── validate_ip_address_spec.rb │ │ │ ├── validate_ipv4_address_spec.rb │ │ │ ├── validate_ipv6_address_spec.rb │ │ │ ├── validate_legacy_spec.rb │ │ │ ├── validate_numeric_spec.rb │ │ │ ├── validate_re_spec.rb │ │ │ ├── validate_slength_spec.rb │ │ │ ├── validate_string_spec.rb │ │ │ ├── validate_x509_rsa_key_pair_spec.rb │ │ │ ├── values_at_spec.rb │ │ │ ├── values_spec.rb │ │ │ └── zip_spec.rb │ │ ├── monkey_patches │ │ │ ├── alias_should_to_must.rb │ │ │ └── publicize_methods.rb │ │ ├── spec_helper.rb │ │ ├── spec_helper_acceptance.rb │ │ ├── spec_helper_local.rb │ │ ├── support │ │ │ └── shared_data.rb │ │ ├── type_aliases │ │ │ ├── absolute_path_spec.rb │ │ │ ├── array_spec.rb │ │ │ ├── base32_spec.rb │ │ │ ├── base64_spec.rb │ │ │ ├── bool_spec.rb │ │ │ ├── compat__ip_address.rb │ │ │ ├── compat__ipv4_spec.rb │ │ │ ├── compat__ipv6_spec.rb │ │ │ ├── filemode_spec.rb │ │ │ ├── filesource_spec.rb │ │ │ ├── float_spec.rb │ │ │ ├── fqdn_spec.rb │ │ │ ├── hash_spec.rb │ │ │ ├── host_spec.rb │ │ │ ├── httpsurl_spec.rb │ │ │ ├── httpurl_spec.rb │ │ │ ├── integer_spec.rb │ │ │ ├── ip_address.rb │ │ │ ├── ip_address_nosubnet_spec.rb │ │ │ ├── ip_address_spec.rb │ │ │ ├── ip_address_v4_nosubnet_spec.rb │ │ │ ├── ip_address_v4_spec.rb │ │ │ ├── ip_address_v6_alternative_spec.rb │ │ │ ├── ip_address_v6_compressed_spec.rb │ │ │ ├── ip_address_v6_full_spec.rb │ │ │ ├── ip_address_v6_nosubnet_alternative_spec.rb │ │ │ ├── ip_address_v6_nosubnet_compressed_spec.rb │ │ │ ├── ip_address_v6_nosubnet_full_spec.rb │ │ │ ├── ip_address_v6_spec.rb │ │ │ ├── ipv4_spec.rb │ │ │ ├── ipv6_spec.rb │ │ │ ├── numeric_spec.rb │ │ │ ├── port__privileged_spec.rb │ │ │ ├── port__unprivileged_spec.rb │ │ │ ├── port_spec.rb │ │ │ ├── string_spec.rb │ │ │ ├── unixpath_spec.rb │ │ │ └── windowspath_spec.rb │ │ └── unit │ │ │ ├── facter │ │ │ ├── facter_dot_d_spec.rb │ │ │ ├── package_provider_spec.rb │ │ │ ├── pe_version_spec.rb │ │ │ ├── root_home_spec.rb │ │ │ ├── service_provider_spec.rb │ │ │ └── util │ │ │ │ └── puppet_settings_spec.rb │ │ │ └── puppet │ │ │ ├── parser │ │ │ └── functions │ │ │ │ ├── enclose_ipv6_spec.rb │ │ │ │ └── is_absolute_path_spec.rb │ │ │ ├── provider │ │ │ └── file_line │ │ │ │ ├── ruby_spec.rb │ │ │ │ ├── ruby_spec_alter.rb │ │ │ │ └── ruby_spec_use_cases.rb │ │ │ └── type │ │ │ ├── anchor_spec.rb │ │ │ └── file_line_spec.rb │ └── types │ │ ├── absolutepath.pp │ │ ├── base32.pp │ │ ├── base64.pp │ │ ├── compat │ │ ├── absolute_path.pp │ │ ├── array.pp │ │ ├── bool.pp │ │ ├── float.pp │ │ ├── hash.pp │ │ ├── integer.pp │ │ ├── ip_address.pp │ │ ├── ipv4.pp │ │ ├── ipv6.pp │ │ ├── numeric.pp │ │ ├── re.pp │ │ └── string.pp │ │ ├── ensure │ │ └── service.pp │ │ ├── filemode.pp │ │ ├── filesource.pp │ │ ├── fqdn.pp │ │ ├── host.pp │ │ ├── httpsurl.pp │ │ ├── httpurl.pp │ │ ├── ip │ │ ├── address.pp │ │ └── address │ │ │ ├── nosubnet.pp │ │ │ ├── v4.pp │ │ │ ├── v4 │ │ │ ├── cidr.pp │ │ │ └── nosubnet.pp │ │ │ ├── v6.pp │ │ │ └── v6 │ │ │ ├── alternative.pp │ │ │ ├── compressed.pp │ │ │ ├── full.pp │ │ │ ├── nosubnet.pp │ │ │ └── nosubnet │ │ │ ├── alternative.pp │ │ │ ├── compressed.pp │ │ │ └── full.pp │ │ ├── ip_address.pp │ │ ├── ipv4.pp │ │ ├── ipv6.pp │ │ ├── mac.pp │ │ ├── port.pp │ │ ├── port │ │ ├── privileged.pp │ │ └── unprivileged.pp │ │ ├── unixpath.pp │ │ └── windowspath.pp ├── tea │ ├── CHANGELOG.md │ ├── Gemfile │ ├── LICENSE │ ├── README.markdown │ ├── Rakefile │ ├── checksums.json │ ├── examples │ │ ├── init.pp │ │ └── ports.pp │ ├── metadata.json │ ├── spec │ │ ├── acceptance │ │ │ └── nodesets │ │ │ │ ├── archlinux-2-x64.yml │ │ │ │ ├── centos-511-x64.yml │ │ │ │ ├── centos-6-x64.yml │ │ │ │ ├── centos-66-x64-pe.yml │ │ │ │ ├── centos-66-x64.yml │ │ │ │ ├── centos-7-x64.yml │ │ │ │ ├── centos-72-x64.yml │ │ │ │ ├── debian-78-x64.yml │ │ │ │ ├── debian-82-x64.yml │ │ │ │ ├── docker │ │ │ │ ├── centos-5.yml │ │ │ │ ├── centos-6.yml │ │ │ │ ├── centos-7.yml │ │ │ │ ├── debian-7.yml │ │ │ │ ├── debian-8.yml │ │ │ │ ├── debian-9.yml │ │ │ │ ├── ubuntu-12.04.yml │ │ │ │ ├── ubuntu-14.04.yml │ │ │ │ └── ubuntu-16.04.yml │ │ │ │ ├── ec2 │ │ │ │ ├── amazonlinux-2016091.yml │ │ │ │ ├── image_templates.yaml │ │ │ │ ├── rhel-73-x64.yml │ │ │ │ ├── sles-12sp2-x64.yml │ │ │ │ ├── ubuntu-1604-x64.yml │ │ │ │ └── windows-2016-base-x64.yml │ │ │ │ ├── fedora-24-x64.yml │ │ │ │ ├── fedora-25-x64.yml │ │ │ │ ├── ubuntu-server-1204-x64.yml │ │ │ │ ├── ubuntu-server-1404-x64.yml │ │ │ │ └── ubuntu-server-1604-x64.yml │ │ ├── classes │ │ │ └── coverage_spec.rb │ │ ├── default_facts.yml │ │ └── spec_helper.rb │ └── types │ │ ├── absolutepath.pp │ │ ├── awsregion.pp │ │ ├── httpsurl.pp │ │ ├── httpurl.pp │ │ ├── port.pp │ │ ├── privilegedport.pp │ │ ├── syslogfacility.pp │ │ ├── syslogpriority.pp │ │ ├── unixpath.pp │ │ ├── unprivilegedport.pp │ │ └── windowspath.pp ├── timezone │ ├── CHANGELOG │ ├── LICENSE │ ├── README.md │ ├── checksums.json │ ├── manifests │ │ └── init.pp │ ├── metadata.json │ ├── spec │ │ └── spec_helper.rb │ ├── templates │ │ ├── debian.erb │ │ ├── el.erb │ │ ├── gentoo.erb │ │ └── suse.erb │ └── tests │ │ └── init.pp ├── vcsrepo │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── LICENSE │ ├── MAINTAINERS.md │ ├── NOTICE │ ├── README.markdown │ ├── Rakefile │ ├── checksums.json │ ├── examples │ │ ├── bzr │ │ │ ├── branch.pp │ │ │ └── init_repo.pp │ │ ├── cvs │ │ │ ├── local.pp │ │ │ └── remote.pp │ │ ├── git │ │ │ ├── bare_init.pp │ │ │ ├── clone.pp │ │ │ ├── shallow-clone-with-just-one-commit.pp │ │ │ └── working_copy_init.pp │ │ ├── hg │ │ │ ├── clone.pp │ │ │ ├── clone_basic_auth.pp │ │ │ └── init_repo.pp │ │ ├── p4 │ │ │ ├── create_client.pp │ │ │ ├── delete_client.pp │ │ │ ├── latest_client.pp │ │ │ └── sync_client.pp │ │ └── svn │ │ │ ├── checkout.pp │ │ │ └── server.pp │ ├── lib │ │ ├── facter │ │ │ └── vcsrepo_svn_ver.rb │ │ └── puppet │ │ │ ├── provider │ │ │ ├── vcsrepo.rb │ │ │ └── vcsrepo │ │ │ │ ├── bzr.rb │ │ │ │ ├── cvs.rb │ │ │ │ ├── dummy.rb │ │ │ │ ├── git.rb │ │ │ │ ├── hg.rb │ │ │ │ ├── p4.rb │ │ │ │ └── svn.rb │ │ │ └── type │ │ │ └── vcsrepo.rb │ ├── locales │ │ └── config.yaml │ ├── metadata.json │ └── spec │ │ ├── acceptance │ │ ├── beaker │ │ │ └── git │ │ │ │ ├── basic_auth │ │ │ │ ├── basic_auth_checkout_http.rb │ │ │ │ ├── basic_auth_checkout_https.rb │ │ │ │ └── negative │ │ │ │ │ └── basic_auth_checkout_git.rb │ │ │ │ ├── branch_checkout │ │ │ │ ├── branch_checkout_file.rb │ │ │ │ ├── branch_checkout_file_path.rb │ │ │ │ ├── branch_checkout_git.rb │ │ │ │ ├── branch_checkout_http.rb │ │ │ │ ├── branch_checkout_https.rb │ │ │ │ ├── branch_checkout_scp.rb │ │ │ │ ├── branch_checkout_ssh.rb │ │ │ │ └── negative │ │ │ │ │ └── branch_checkout_not_exists.rb │ │ │ │ ├── clone │ │ │ │ ├── clone_file.rb │ │ │ │ ├── clone_file_path.rb │ │ │ │ ├── clone_git.rb │ │ │ │ ├── clone_http.rb │ │ │ │ ├── clone_https.rb │ │ │ │ ├── clone_over_different_exiting_repo_with_force.rb │ │ │ │ ├── clone_repo_with_excludes_in_repo.rb │ │ │ │ ├── clone_repo_with_excludes_not_in_repo.rb │ │ │ │ ├── clone_scp.rb │ │ │ │ ├── clone_ssh.rb │ │ │ │ └── negative │ │ │ │ │ ├── clone_over_different_exiting_repo.rb │ │ │ │ │ └── clone_repo_with_exec_excludes.rb │ │ │ │ ├── compression │ │ │ │ ├── compression_0_checkout.rb │ │ │ │ ├── compression_1_checkout.rb │ │ │ │ ├── compression_2_checkout.rb │ │ │ │ ├── compression_3_checkout.rb │ │ │ │ ├── compression_4_checkout.rb │ │ │ │ ├── compression_5_checkout.rb │ │ │ │ ├── compression_6_checkout.rb │ │ │ │ └── negative │ │ │ │ │ ├── compression_7_checkout.rb │ │ │ │ │ ├── compression_alpha_checkout.rb │ │ │ │ │ ├── compression_eval_checkout.rb │ │ │ │ │ ├── compression_exec_checkout.rb │ │ │ │ │ └── compression_negative_checkout.rb │ │ │ │ ├── create │ │ │ │ ├── create_bare_repo_that_already_exists.rb │ │ │ │ ├── create_repo_that_already_exists.rb │ │ │ │ └── negative │ │ │ │ │ └── create_bare_repo_specifying_revision.rb │ │ │ │ ├── group_checkout │ │ │ │ ├── group_checkout_file.rb │ │ │ │ ├── group_checkout_file_path.rb │ │ │ │ ├── group_checkout_git.rb │ │ │ │ ├── group_checkout_http.rb │ │ │ │ ├── group_checkout_https.rb │ │ │ │ ├── group_checkout_scp.rb │ │ │ │ ├── group_checkout_ssh.rb │ │ │ │ └── negative │ │ │ │ │ └── group_checkout_file_non_existent_group.rb │ │ │ │ ├── revision_checkout │ │ │ │ ├── negative │ │ │ │ │ └── revision_checkout_not_exists.rb │ │ │ │ ├── revision_checkout_file.rb │ │ │ │ ├── revision_checkout_file_path.rb │ │ │ │ ├── revision_checkout_git.rb │ │ │ │ ├── revision_checkout_http.rb │ │ │ │ ├── revision_checkout_https.rb │ │ │ │ ├── revision_checkout_scp.rb │ │ │ │ └── revision_checkout_ssh.rb │ │ │ │ ├── shallow_clone │ │ │ │ ├── negative │ │ │ │ │ ├── shallow_clone_exec_depth.rb │ │ │ │ │ ├── shallow_clone_file_path.rb │ │ │ │ │ ├── shallow_clone_http.rb │ │ │ │ │ ├── shallow_clone_negative_depth.rb │ │ │ │ │ └── shallow_clone_overflow_depth.rb │ │ │ │ ├── shallow_clone_file.rb │ │ │ │ ├── shallow_clone_git.rb │ │ │ │ ├── shallow_clone_https.rb │ │ │ │ ├── shallow_clone_scp.rb │ │ │ │ ├── shallow_clone_ssh.rb │ │ │ │ └── shallow_clone_zero_depth.rb │ │ │ │ ├── tag_checkout │ │ │ │ ├── negative │ │ │ │ │ └── tag_checkout_not_exists.rb │ │ │ │ ├── tag_checkout_file.rb │ │ │ │ ├── tag_checkout_file_path.rb │ │ │ │ ├── tag_checkout_git.rb │ │ │ │ ├── tag_checkout_http.rb │ │ │ │ ├── tag_checkout_https.rb │ │ │ │ ├── tag_checkout_scp.rb │ │ │ │ └── tag_checkout_ssh.rb │ │ │ │ └── user_checkout │ │ │ │ ├── negative │ │ │ │ └── user_checkout_file_non_existent_user.rb │ │ │ │ ├── user_checkout_file.rb │ │ │ │ ├── user_checkout_file_path.rb │ │ │ │ ├── user_checkout_git.rb │ │ │ │ ├── user_checkout_http.rb │ │ │ │ ├── user_checkout_https.rb │ │ │ │ ├── user_checkout_scp.rb │ │ │ │ └── user_checkout_ssh.rb │ │ ├── beaker_helper.rb │ │ ├── clone_repo_spec.rb │ │ ├── create_repo_spec.rb │ │ ├── files │ │ │ ├── create_git_repo.sh │ │ │ ├── server.crt │ │ │ └── server.key │ │ ├── modules_1596_spec.rb │ │ ├── modules_1800_spec.rb │ │ ├── modules_2326_spec.rb │ │ ├── modules_660_spec.rb │ │ ├── modules_753_spec.rb │ │ ├── nodesets │ │ │ ├── centos-7-x64.yml │ │ │ ├── debian-8-x64.yml │ │ │ ├── default.yml │ │ │ └── docker │ │ │ │ ├── centos-7.yml │ │ │ │ ├── debian-8.yml │ │ │ │ └── ubuntu-14.04.yml │ │ ├── remove_repo_spec.rb │ │ ├── remove_repo_spec_noop.rb │ │ ├── svn_paths_spec.rb │ │ └── svn_spec.rb │ │ ├── fixtures │ │ ├── bzr_version_info.txt │ │ ├── git_branch_a.txt │ │ ├── git_branch_feature_bar.txt │ │ ├── git_branch_none.txt │ │ ├── hg_parents.txt │ │ ├── hg_tags.txt │ │ └── svn_info.txt │ │ ├── spec_helper.rb │ │ ├── spec_helper_acceptance.rb │ │ ├── spec_helper_local.rb │ │ ├── support │ │ ├── filesystem_helpers.rb │ │ └── fixture_helpers.rb │ │ └── unit │ │ ├── facter │ │ └── vcsrepo_svn_ver_spec.rb │ │ └── puppet │ │ ├── provider │ │ └── vcsrepo │ │ │ ├── bzr_spec.rb │ │ │ ├── cvs_spec.rb │ │ │ ├── git_spec.rb │ │ │ ├── hg_spec.rb │ │ │ ├── p4_spec.rb │ │ │ └── svn_spec.rb │ │ └── type │ │ ├── README.markdown │ │ └── vcsrepo_spec.rb └── yum │ ├── CHANGELOG.md │ ├── Gemfile │ ├── LICENSE │ ├── README.md │ ├── Rakefile │ ├── checksums.json │ ├── data │ ├── common.yaml │ ├── os │ │ └── RedHat │ │ │ ├── Amazon.yaml │ │ │ ├── CentOS.yaml │ │ │ ├── CentOS │ │ │ ├── 6.yaml │ │ │ └── 7.yaml │ │ │ └── RedHat.yaml │ └── repos.yaml │ ├── examples │ ├── gpgkey.pp │ ├── group.pp │ ├── install.pp │ ├── plugin.pp │ └── versionlock.pp │ ├── functions │ └── bool2num_hash_recursive.pp │ ├── hiera.yaml │ ├── manifests │ ├── config.pp │ ├── gpgkey.pp │ ├── group.pp │ ├── init.pp │ ├── install.pp │ ├── plugin.pp │ ├── plugin │ │ └── versionlock.pp │ └── versionlock.pp │ ├── metadata.json │ ├── spec │ ├── acceptance │ │ ├── class_spec.rb │ │ └── nodesets │ │ │ ├── archlinux-2-x64.yml │ │ │ ├── centos-511-x64.yml │ │ │ ├── centos-6-x64.yml │ │ │ ├── centos-66-x64-pe.yml │ │ │ ├── centos-66-x64.yml │ │ │ ├── centos-7-x64.yml │ │ │ ├── centos-72-x64.yml │ │ │ ├── debian-78-x64.yml │ │ │ ├── debian-82-x64.yml │ │ │ ├── docker │ │ │ ├── centos-5.yml │ │ │ ├── centos-6.yml │ │ │ ├── centos-7.yml │ │ │ ├── debian-7.yml │ │ │ ├── debian-8.yml │ │ │ ├── debian-9.yml │ │ │ ├── ubuntu-12.04.yml │ │ │ ├── ubuntu-14.04.yml │ │ │ └── ubuntu-16.04.yml │ │ │ ├── ec2 │ │ │ ├── amazonlinux-2016091.yml │ │ │ ├── image_templates.yaml │ │ │ ├── rhel-73-x64.yml │ │ │ ├── sles-12sp2-x64.yml │ │ │ ├── ubuntu-1604-x64.yml │ │ │ └── windows-2016-base-x64.yml │ │ │ ├── fedora-24-x64.yml │ │ │ ├── fedora-25-x64.yml │ │ │ ├── fedora-26-x64.yml │ │ │ ├── fedora-27-x64.yml │ │ │ ├── ubuntu-server-1204-x64.yml │ │ │ ├── ubuntu-server-1404-x64.yml │ │ │ └── ubuntu-server-1604-x64.yml │ ├── classes │ │ ├── coverage_spec.rb │ │ └── init_spec.rb │ ├── default_facts.yml │ ├── defines │ │ ├── config_spec.rb │ │ ├── gpgkey_spec.rb │ │ ├── group_spec.rb │ │ ├── plugin_spec.rb │ │ └── versionlock_spec.rb │ ├── fixtures │ │ ├── data │ │ │ ├── default.yaml │ │ │ └── repo_exclusions.yaml │ │ └── hiera.yaml │ ├── functions │ │ └── bool2num_hash_recursive_spec.rb │ ├── spec_helper.rb │ └── spec_helper_acceptance.rb │ └── types │ └── versionlockstring.pp ├── dev_fallback └── ssl │ ├── README.md │ ├── server.crt │ └── server.key ├── documentation ├── INSTALL_FINALIZING.md ├── INSTALL_MANUALLY.md └── puppet_setup.md ├── environments └── example_env │ └── README.environment ├── fileserver.conf ├── hiera.yaml ├── hieradata ├── common.yaml ├── datacenter │ ├── bytemark-YO26-york.yaml │ ├── development.pp │ └── liquidweb.yaml ├── env │ ├── dev.yaml │ └── production.yaml └── nodes │ ├── bm-mc-01.yaml │ ├── bm-mc-02.yaml │ ├── bm-mc-03.yaml │ ├── bm-mc-04.yaml │ ├── debian.yaml │ ├── lw-mc-01.yaml │ ├── lw-mc-02.yaml │ ├── lw-mc-03.yaml │ └── metacpan-dev.yaml ├── init.sh ├── manifests └── site.pp ├── modules ├── carton │ ├── manifests │ │ ├── init.pp │ │ └── run.pp │ └── templates │ │ ├── carton-exec.erb │ │ └── carton.erb ├── exim │ ├── files │ │ └── aliases │ ├── manifests │ │ ├── config.pp │ │ ├── directories.pp │ │ └── init.pp │ └── templates │ │ └── update-exim4.conf.conf.erb ├── facts │ └── lib │ │ └── facter │ │ ├── datacenter.rb │ │ ├── env.rb │ │ ├── ipaddress.rb │ │ └── vcsrepo.rb ├── line │ └── manifests │ │ └── init.pp ├── metacpan │ ├── files │ │ ├── default │ │ │ ├── etc │ │ │ │ ├── apticron │ │ │ │ │ └── apticron.conf │ │ │ │ ├── log4perl.conf │ │ │ │ ├── resolv.conf │ │ │ │ └── ssh │ │ │ │ │ └── sshd_config │ │ │ └── home │ │ │ │ ├── abraxxa │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── andreea │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── atoomic │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── ben │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── brad │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── clinton │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── davidc │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── default │ │ │ │ └── bin │ │ │ │ │ └── README │ │ │ │ ├── ether │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── haarg │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── jberger │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── leo │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── matthewt │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── metacpan │ │ │ │ ├── certs │ │ │ │ │ └── self-signed │ │ │ │ │ │ ├── metacpan.key │ │ │ │ │ │ └── metacpan.pem │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── mhorsfall │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── mickey │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── mo │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── mohawk2 │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── olaf │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── rafl │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── rwstauner │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── sawyer │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── ssoriche │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ ├── toddr │ │ │ │ └── ssh │ │ │ │ │ └── authorized_keys │ │ │ │ └── trs │ │ │ │ └── ssh │ │ │ │ └── authorized_keys │ │ ├── motd │ │ └── rsyslog_server │ │ │ └── logrotate.d │ │ │ └── central_logger │ ├── manifests │ │ ├── cron │ │ │ ├── api.pp │ │ │ └── general.pp │ │ ├── gitrepo.pp │ │ ├── init.pp │ │ ├── logstash.pp │ │ ├── role │ │ │ ├── developer.pp │ │ │ └── production.pp │ │ ├── rrrclient.pp │ │ ├── system.pp │ │ ├── system │ │ │ ├── configs.pp │ │ │ ├── directories.pp │ │ │ ├── disableipv6.pp │ │ │ ├── firewall.pp │ │ │ ├── mongodb.pp │ │ │ ├── packages.pp │ │ │ ├── perlpackages.pp │ │ │ ├── ramdisk.pp │ │ │ ├── rsyslog │ │ │ │ ├── certs.pp │ │ │ │ ├── client.pp │ │ │ │ └── server.pp │ │ │ └── ssh.pp │ │ ├── user.pp │ │ ├── watcher.pp │ │ ├── web.pp │ │ └── web │ │ │ ├── nginx_extra_confs.pp │ │ │ ├── production.pp │ │ │ ├── proxy.pp │ │ │ ├── starman.pp │ │ │ └── static.pp │ └── templates │ │ ├── init_watcher.erb │ │ ├── rsyslog │ │ └── server-metacpan.conf.erb │ │ └── web │ │ ├── metacpan-api │ │ └── socket_io.erb │ │ ├── metacpan-cpan-static │ │ └── fastly.erb │ │ ├── metacpan-sco │ │ └── rewrite.erb │ │ ├── metacpan-web-redirect │ │ └── rewrite.erb │ │ ├── metacpan-web │ │ └── trailing_slash.erb │ │ └── munin │ │ └── munin_cgi.erb ├── metacpan_elasticsearch │ ├── files │ │ └── etc │ │ │ ├── scripts │ │ │ ├── prefer_shorter_module_names_100.groovy │ │ │ ├── prefer_shorter_module_names_400.groovy │ │ │ ├── score_version_numified.groovy │ │ │ └── status_is_latest.groovy │ │ │ └── security │ │ │ └── elasticsearch │ └── manifests │ │ ├── curator.pp │ │ ├── firewall.pp │ │ ├── init.pp │ │ ├── instance.pp │ │ ├── script.pp │ │ └── test_instance.pp ├── metacpan_kibana │ └── manifests │ │ ├── init.pp │ │ └── package.pp ├── metacpan_munin │ ├── files │ │ └── munin-fcgi │ └── manifests │ │ └── init.pp ├── metacpan_nginx │ ├── files │ │ ├── basics.conf │ │ ├── logrotate.conf │ │ ├── status.conf │ │ └── types.conf │ ├── manifests │ │ ├── init.pp │ │ ├── proxy.pp │ │ └── vhost.pp │ └── templates │ │ ├── nginx.conf.erb │ │ ├── proxy.conf.erb │ │ └── vhost.conf.erb ├── metacpan_postgres │ ├── manifests │ │ ├── firewall.pp │ │ ├── init.pp │ │ ├── install_only.pp │ │ ├── pgpass.pp │ │ └── user.pp │ └── templates │ │ └── pgpass.erb ├── minion_queue │ ├── manifests │ │ ├── init.pp │ │ └── service.pp │ └── templates │ │ └── init.pl.erb ├── munin │ ├── CHANGELOG.md │ ├── Gemfile │ ├── Guardfile │ ├── README.md │ ├── Rakefile │ ├── checksums.json │ ├── manifests │ │ ├── master.pp │ │ ├── master │ │ │ └── node_definition.pp │ │ ├── node.pp │ │ ├── params │ │ │ ├── master.pp │ │ │ └── node.pp │ │ └── plugin.pp │ ├── metadata.json │ ├── spec │ │ ├── classes │ │ │ ├── munin_master_spec.rb │ │ │ └── munin_node_spec.rb │ │ ├── defines │ │ │ ├── munin_plugin_spec.rb │ │ │ └── regression_13_munin_plugin_config_name_spec.rb │ │ └── spec_helper.rb │ └── templates │ │ ├── master │ │ └── node.definition.conf.erb │ │ ├── munin-node.conf.erb │ │ ├── munin.conf.erb │ │ └── plugin_conf.erb ├── nodejs │ └── manifests │ │ └── init.pp ├── npm │ └── manifests │ │ ├── init.pp │ │ └── install.pp ├── panopta │ └── manifests │ │ ├── apt.pp │ │ ├── init.pp │ │ └── packages.pp ├── perl │ └── manifests │ │ ├── build.pp │ │ ├── init.pp │ │ ├── module.pp │ │ └── params.pp ├── puppet │ ├── manifests │ │ └── init.pp │ └── templates │ │ └── puppet.conf ├── rrrclient │ ├── manifests │ │ ├── cron.pp │ │ ├── init.pp │ │ └── service.pp │ └── templates │ │ └── init.erb └── starman │ ├── manifests │ ├── config.pp │ ├── init.pp │ └── service.pp │ └── templates │ ├── init.api.erb │ └── init.pl.erb ├── puppet.conf.default ├── run.sh └── ssl └── vagrant.txt /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | 9 | indent_style = space 10 | indent_size = 4 11 | 12 | # We recommend you to keep these unchanged 13 | end_of_line = lf 14 | charset = utf-8 15 | 16 | # I'd like to enable this, but we should fix all the files first to avoid diff noise. 17 | #trim_trailing_whitespace = true 18 | insert_final_newline = true 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | private/* 3 | puppet.conf 4 | puppet.conf.dpkg-dist 5 | ssl/* 6 | !ssl/vagrant.txt 7 | *.sw* 8 | -------------------------------------------------------------------------------- /autosign.conf: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /bin/module-deps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd /etc/puppet 4 | puppet module list --tree --modulepath contrib-modules 5 | -------------------------------------------------------------------------------- /contrib-modules/apt/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | ## Maintenance 2 | 3 | Maintainers: 4 | - Puppet Forge Modules Team `forge-modules |at| puppet |dot| com` 5 | 6 | Tickets: https://tickets.puppet.com/browse/MODULES. Make sure to set component to `apt`. 7 | -------------------------------------------------------------------------------- /contrib-modules/apt/Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/rake_tasks' 2 | require 'puppet-syntax/tasks/puppet-syntax' 3 | require 'puppet_blacksmith/rake_tasks' 4 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/backports.pp: -------------------------------------------------------------------------------- 1 | # Set up a backport for linuxmint qiana 2 | class { 'apt': } 3 | apt::backports { 'qiana': 4 | location => 'http://us.archive.ubuntu.com/ubuntu', 5 | release => 'trusty-backports', 6 | repos => 'main universe multiverse restricted', 7 | key => { 8 | id => '630239CC130E1A7FD81A27B140976EAF437D05B5', 9 | server => 'hkps.pool.sks-keyservers.net', 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/builddep.pp: -------------------------------------------------------------------------------- 1 | package{ 'glusterfs-server': 2 | install_options => 'build-dep', 3 | } 4 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/debian_testing.pp: -------------------------------------------------------------------------------- 1 | package { 'debian-keyring': 2 | ensure => present 3 | } 4 | 5 | package { 'debian-archive-keyring': 6 | ensure => present 7 | } 8 | 9 | apt::source { 'debian_testing': 10 | location => 'http://debian.mirror.iweb.ca/debian/', 11 | release => 'testing', 12 | repos => 'main contrib non-free', 13 | pin => '-10', 14 | key => { 15 | id => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', 16 | server => 'subkeys.pgp.net', 17 | }, 18 | } 19 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/debian_unstable.pp: -------------------------------------------------------------------------------- 1 | package { 'debian-keyring': 2 | ensure => present 3 | } 4 | 5 | package { 'debian-archive-keyring': 6 | ensure => present 7 | } 8 | 9 | apt::source { 'debian_unstable': 10 | location => 'http://debian.mirror.iweb.ca/debian/', 11 | release => 'unstable', 12 | repos => 'main contrib non-free', 13 | pin => '-10', 14 | key => { 15 | id => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', 16 | server => 'subkeys.pgp.net', 17 | }, 18 | } 19 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/disable_keys.pp: -------------------------------------------------------------------------------- 1 | #Note: This is generally a bad idea. You should not disable verifying repository signatures. 2 | apt::conf { 'unauth': 3 | priority => 99, 4 | content => 'APT::Get::AllowUnauthenticated 1;' 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/fancy_progress.pp: -------------------------------------------------------------------------------- 1 | apt::conf { 'progressbar': 2 | priority => 99, 3 | content => 'Dpkg::Progress-Fancy "1";', 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/hold.pp: -------------------------------------------------------------------------------- 1 | apt::pin { 'hold-vim': 2 | packages => 'vim', 3 | version => '2:7.4.488-5', 4 | priority => 1001, 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/key.pp: -------------------------------------------------------------------------------- 1 | # Declare Apt key for apt.puppetlabs.com source 2 | apt::key { 'puppetlabs': 3 | id => '6F6B15509CF8E59E6E469F327F438280EF8D349F', 4 | server => 'hkps.pool.sks-keyservers.net', 5 | options => 'http-proxy="http://proxyuser:proxypass@example.org:3128"', 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/pin.pp: -------------------------------------------------------------------------------- 1 | # pin a release in apt, useful for unstable repositories 2 | apt::pin { 'foo': 3 | packages => '*', 4 | priority => 0, 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/ppa.pp: -------------------------------------------------------------------------------- 1 | class { 'apt': } 2 | 3 | # Example declaration of an Apt PPA 4 | apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': } 5 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/release.pp: -------------------------------------------------------------------------------- 1 | apt::conf { 'release': 2 | content => 'APT::Default-Release "karmic";', 3 | priority => '01', 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/apt/examples/unattended_upgrades.pp: -------------------------------------------------------------------------------- 1 | # TODO 2 | -------------------------------------------------------------------------------- /contrib-modules/apt/lib/facter/apt_reboot_required.rb: -------------------------------------------------------------------------------- 1 | # apt_reboot_required.rb 2 | Facter.add(:apt_reboot_required) do 3 | confine osfamily: 'Debian' 4 | setcode do 5 | File.file?('/var/run/reboot-required') 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /contrib-modules/apt/spec/acceptance/class_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'apt class' do 4 | context 'with default parameters' do 5 | # Using puppet_apply as a helper 6 | it 'works with no errors' do 7 | pp = <<-MANIFEST 8 | class { 'apt': } 9 | MANIFEST 10 | 11 | # Run it twice and test for idempotency 12 | apply_manifest(pp, catch_failures: true) 13 | apply_manifest(pp, catch_changes: true) 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /contrib-modules/apt/spec/acceptance/init_task_spec.rb: -------------------------------------------------------------------------------- 1 | # run a test task 2 | require 'spec_helper_acceptance' 3 | 4 | describe 'apt tasks' do 5 | describe 'update and upgrade', if: pe_install? && puppet_version =~ %r{(5\.\d\.\d)} && fact_on(master, 'osfamily') == 'Debian' do 6 | it 'execute arbitary sql' do 7 | result = run_task(task_name: 'apt', params: 'action=update') 8 | expect_multiple_regexes(result: result, regexes: [%r{Reading package lists}, %r{Job completed. 1/1 nodes succeeded}]) 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /contrib-modules/apt/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: el-7-x86_64 7 | hypervisor: vagrant 8 | box: puppetlabs/centos-7.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/apt/spec/acceptance/nodesets/debian-8-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: debian-8-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/debian-8.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/apt/spec/acceptance/nodesets/default.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: ubuntu-14.04-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/ubuntu-14.04-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/apt/spec/acceptance/nodesets/docker/centos-7.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | platform: el-7-x86_64 4 | hypervisor: docker 5 | image: centos:7 6 | docker_preserve_image: true 7 | docker_cmd: '["/usr/sbin/init"]' 8 | # install various tools required to get the image up to usable levels 9 | docker_image_commands: 10 | - 'yum install -y crontabs tar wget openssl sysvinit-tools iproute which initscripts' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/apt/spec/acceptance/nodesets/docker/debian-8.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | platform: debian-8-amd64 4 | hypervisor: docker 5 | image: debian:8 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | - 'apt-get update && apt-get install -y net-tools wget locales strace lsof && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen' 10 | CONFIG: 11 | trace_limit: 200 12 | -------------------------------------------------------------------------------- /contrib-modules/apt/spec/acceptance/nodesets/docker/ubuntu-14.04.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | platform: ubuntu-14.04-amd64 4 | hypervisor: docker 5 | image: ubuntu:14.04 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | # ensure that upstart is booting correctly in the container 10 | - 'rm /usr/sbin/policy-rc.d && rm /sbin/initctl && dpkg-divert --rename --remove /sbin/initctl && apt-get update && apt-get install -y net-tools wget && locale-gen en_US.UTF-8' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/apt/tasks/init.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Allows you to perform apt functions", 3 | "input_method": "stdin", 4 | "parameters": { 5 | "action": { 6 | "description": "Action to perform ", 7 | "type": "Enum[update, upgrade]" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /contrib-modules/apt/templates/15update-stamp.epp: -------------------------------------------------------------------------------- 1 | APT::Update::Post-Invoke-Success {"touch /var/lib/apt/periodic/update-success-stamp 2>/dev/null || true";}; 2 | -------------------------------------------------------------------------------- /contrib-modules/apt/templates/_conf_header.epp: -------------------------------------------------------------------------------- 1 | // This file is managed by Puppet. DO NOT EDIT. 2 | -------------------------------------------------------------------------------- /contrib-modules/apt/templates/_header.epp: -------------------------------------------------------------------------------- 1 | # This file is managed by Puppet. DO NOT EDIT. 2 | -------------------------------------------------------------------------------- /contrib-modules/apt/templates/proxy.epp: -------------------------------------------------------------------------------- 1 | <%- | Hash $proxies | -%> 2 | Acquire::http::proxy "http://<%= $proxies['host'] %>:<%= $proxies['port'] %>/"; 3 | <%- if $proxies['https'] { %> 4 | Acquire::https::proxy "https://<%= $proxies['host'] %>:<%= $proxies['port'] %>/"; 5 | <%- } elsif $proxies['direct'] { -%> 6 | Acquire::https::proxy "DIRECT"; 7 | <%- } -%> 8 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/archive.pp: -------------------------------------------------------------------------------- 1 | include '::archive' 2 | 3 | archive { '/tmp/jta-1.1.jar': 4 | ensure => present, 5 | extract => true, 6 | extract_path => '/tmp', 7 | source => 'http://central.maven.org/maven2/javax/transaction/jta/1.1/jta-1.1.jar', 8 | checksum => '2ca09f0b36ca7d71b762e14ea2ff09d5eac57558', 9 | checksum_type => 'sha1', 10 | creates => '/tmp/javax', 11 | cleanup => true, 12 | user => 'vagrant', 13 | group => 'vagrant', 14 | } 15 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/bad_source.pp: -------------------------------------------------------------------------------- 1 | archive { '/tmp/jta-1.1.jar': 2 | ensure => present, 3 | source => $bad_variable, 4 | } 5 | 6 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/cookie.pp: -------------------------------------------------------------------------------- 1 | archive { '/tmp/jdk-7u80-linux-x64.tar.gz': 2 | source => 'http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz', 3 | cookie => 'oraclelicense=accept-securebackup-cookie', 4 | provider => 'wget', 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/ftp.pp: -------------------------------------------------------------------------------- 1 | include '::archive' 2 | 3 | archive { '/tmp/test100k.db': 4 | source => 'ftp://ftp.otenet.gr/test100k.db', 5 | username => 'speedtest', 6 | password => 'speedtest', 7 | } 8 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/init.pp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/metacpan/metacpan-puppet/2825f583315ab042d5d96ecbc71639e64c244efe/contrib-modules/archive/examples/init.pp -------------------------------------------------------------------------------- /contrib-modules/archive/examples/java.pp: -------------------------------------------------------------------------------- 1 | include ::archive 2 | 3 | archive { '/tmp/jre-8u71': 4 | source => 'http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jre-7u71-windows-x64.exe', 5 | cookie => 'oraclelicense=accept-securebackup-cookie', 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/large_file.pp: -------------------------------------------------------------------------------- 1 | archive { '/tmp/CentOS-7.iso': 2 | ensure => 'present', 3 | source => 'http://mirrors.prometeus.net/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso', 4 | checksum => '4c6c65b5a70a1142dadb3c65238e9e97253c0d3a', 5 | checksum_type => 'sha1', 6 | provider => ruby, 7 | } 8 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/local.pp: -------------------------------------------------------------------------------- 1 | include ::archive 2 | 3 | archive { '/tmp/test.zip': 4 | source => 'file:///vagrant/files/test.zip', 5 | } 6 | 7 | archive { '/tmp/test2.zip': 8 | source => '/vagrant/files/test.zip', 9 | } 10 | 11 | # NOTE: expected to fail 12 | archive { '/tmp/test3.zip': 13 | source => '/vagrant/files/invalid.zip', 14 | } 15 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/nexus.pp: -------------------------------------------------------------------------------- 1 | archive::nexus { '/tmp/jtstand-ui-0.98.jar': 2 | url => 'https://oss.sonatype.org', 3 | gav => 'org.codehaus.jtstand:jtstand-ui:0.98', 4 | repository => 'codehaus-releases', 5 | packaging => 'jar', 6 | extract => false, 7 | } 8 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/remote_checksum.pp: -------------------------------------------------------------------------------- 1 | include '::archive' 2 | 3 | archive { '/tmp/hawtio-web-1.4.36.jar': 4 | ensure => present, 5 | extract => false, 6 | extract_path => '/tmp', 7 | source => 'https://oss.sonatype.org/service/local/artifact/maven/content?g=io.hawt&a=hawtio-web&v=1.4.36&p=war&r=releases', 8 | checksum_url => 'https://oss.sonatype.org/service/local/artifact/maven/content?g=io.hawt&a=hawtio-web&v=1.4.36&p=war.md5&r=releases', 9 | checksum_type => 'md5', 10 | } 11 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/ruby.pp: -------------------------------------------------------------------------------- 1 | archive { '/tmp/bernie_301': 2 | ensure => present, 3 | source => 'https://berniesanders.com/for/president', 4 | provider => ruby, 5 | } 6 | 7 | archive { '/tmp/auth': 8 | ensure => present, 9 | source => 'http://test.webdav.org/auth-basic/', 10 | username => 'user1', 11 | password => 'user1', 12 | provider => ruby, 13 | } 14 | -------------------------------------------------------------------------------- /contrib-modules/archive/examples/s3.pp: -------------------------------------------------------------------------------- 1 | class { '::archive': 2 | aws_cli_install => true, 3 | } 4 | 5 | archive { '/tmp/gravatar.png': 6 | ensure => present, 7 | source => 's3://bodecoio/gravatar.png', 8 | } 9 | -------------------------------------------------------------------------------- /contrib-modules/archive/files/test.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/metacpan/metacpan-puppet/2825f583315ab042d5d96ecbc71639e64c244efe/contrib-modules/archive/files/test.zip -------------------------------------------------------------------------------- /contrib-modules/archive/lib/facter/archive_windir.rb: -------------------------------------------------------------------------------- 1 | Facter.add(:archive_windir) do 2 | confine :osfamily => :windows # rubocop:disable Style/HashSyntax 3 | setcode do 4 | program_data = `echo %SYSTEMDRIVE%\\ProgramData`.chomp 5 | if File.directory? program_data 6 | "#{program_data}\\staging" 7 | else 8 | 'C:\\staging' 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /contrib-modules/archive/lib/puppet/parser/functions/assemble_nexus_url.rb: -------------------------------------------------------------------------------- 1 | require 'cgi' 2 | 3 | module Puppet::Parser::Functions 4 | newfunction(:assemble_nexus_url, type: :rvalue) do |args| 5 | service_relative_url = 'service/local/artifact/maven/content' 6 | 7 | nexus_url = args[0] 8 | params = args[1] 9 | query_string = params.to_a.map { |x| "#{x[0]}=#{CGI.escape(x[1])}" }.join('&') 10 | 11 | "#{nexus_url}/#{service_relative_url}?#{query_string}" 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/archlinux-2-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | archlinux-2-x64: 7 | roles: 8 | - master 9 | platform: archlinux-2-x64 10 | box: archlinux/archlinux 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/centos-511-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-511-x64: 7 | roles: 8 | - master 9 | platform: el-5-x86_64 10 | box: puppetlabs/centos-5.11-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/centos-6-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-6-x64: 7 | roles: 8 | - master 9 | platform: el-6-x86_64 10 | box: centos/6 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/centos-66-x64-pe.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-66-x64: 7 | roles: 8 | - master 9 | - database 10 | - dashboard 11 | platform: el-6-x86_64 12 | box: puppetlabs/centos-6.6-64-puppet-enterprise 13 | hypervisor: vagrant 14 | CONFIG: 15 | type: pe 16 | ... 17 | # vim: syntax=yaml 18 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/centos-66-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-66-x64: 7 | roles: 8 | - master 9 | platform: el-6-x86_64 10 | box: puppetlabs/centos-6.6-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-7-x64: 7 | roles: 8 | - master 9 | platform: el-7-x86_64 10 | box: centos/7 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/centos-72-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-72-x64: 7 | roles: 8 | - master 9 | platform: el-7-x86_64 10 | box: puppetlabs/centos-7.2-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/debian-78-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | debian-78-x64: 7 | roles: 8 | - master 9 | platform: debian-7-amd64 10 | box: puppetlabs/debian-7.8-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/debian-82-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | debian-82-x64: 7 | roles: 8 | - master 9 | platform: debian-8-amd64 10 | box: puppetlabs/debian-8.2-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/fedora-24-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | fedora-24-x64: 7 | roles: 8 | - master 9 | platform: fedora-24-x86_64 10 | box: fedora/24-cloud-base 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/fedora-25-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | HOSTS: 7 | fedora-25-x64: 8 | roles: 9 | - master 10 | platform: fedora-25-x86_64 11 | box: fedora/25-cloud-base 12 | hypervisor: vagrant 13 | CONFIG: 14 | type: aio 15 | ... 16 | # vim: syntax=yaml 17 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/fedora-26-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | HOSTS: 7 | fedora-26-x64: 8 | roles: 9 | - master 10 | platform: fedora-26-x86_64 11 | box: fedora/26-cloud-base 12 | hypervisor: vagrant 13 | CONFIG: 14 | type: aio 15 | ... 16 | # vim: syntax=yaml 17 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/fedora-27-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | # platform is fedora 26 because there is no puppet-agent 7 | # for fedora 27 as of 2017-11-17 8 | HOSTS: 9 | fedora-27-x64: 10 | roles: 11 | - master 12 | platform: fedora-26-x86_64 13 | box: fedora/27-cloud-base 14 | hypervisor: vagrant 15 | CONFIG: 16 | type: aio 17 | ... 18 | # vim: syntax=yaml 19 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/ubuntu-server-1204-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1204-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-12.04-amd64 10 | box: puppetlabs/ubuntu-12.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1404-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-14.04-amd64 10 | box: puppetlabs/ubuntu-14.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/acceptance/nodesets/ubuntu-server-1604-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1604-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-16.04-amd64 10 | box: puppetlabs/ubuntu-16.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/classes/coverage_spec.rb: -------------------------------------------------------------------------------- 1 | require 'rspec-puppet' 2 | 3 | at_exit { RSpec::Puppet::Coverage.report! } 4 | # vim: syntax=ruby 5 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/default_facts.yml: -------------------------------------------------------------------------------- 1 | # This file is managed via modulesync 2 | # https://github.com/voxpupuli/modulesync 3 | # https://github.com/voxpupuli/modulesync_config 4 | # 5 | # use default_module_facts.yaml for module specific 6 | # facts. 7 | # 8 | # Hint if using with rspec-puppet-facts ("on_supported_os.each"): 9 | # if a same named fact exists in facterdb it will be overridden. 10 | --- 11 | concat_basedir: "/tmp" 12 | ipaddress: "172.16.254.254" 13 | is_pe: false 14 | macaddress: "AA:AA:AA:AA:AA:AA" 15 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/fixtures/checksum/gocd.md5: -------------------------------------------------------------------------------- 1 | filea= 283158c7da8c0ada74502794fa8745eb 2 | fileb= 5717dd795bfd74edc2e9e81d37394349 3 | filec= 99c3a849f6e9a0d143f057433c7f4d84 4 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/module_spec_helper' 2 | require 'rspec-puppet-utils' 3 | require 'rspec/mocks' 4 | require 'rspec-puppet-facts' 5 | include RspecPuppetFacts 6 | 7 | unless RUBY_VERSION =~ %r{^1.9} 8 | require 'coveralls' 9 | Coveralls.wear! 10 | end 11 | 12 | # 13 | # Require all support files 14 | # 15 | Dir['./spec/support/**/*.rb'].sort.each { |f| require f } 16 | 17 | RSpec.configure do |c| 18 | c.formatter = 'documentation' 19 | c.mock_framework = :rspec 20 | end 21 | -------------------------------------------------------------------------------- /contrib-modules/archive/spec/support/shared_contexts.rb: -------------------------------------------------------------------------------- 1 | shared_context :some_context do 2 | # example only, 3 | let(:hiera_data) do 4 | {} 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /contrib-modules/concat/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | ## Maintenance 2 | 3 | Maintainers: 4 | - Puppet Forge Modules Team `forge-modules |at| puppet |dot| com` 5 | 6 | Tickets: https://tickets.puppet.com/browse/MODULES. Make sure to set component to `concat`. 7 | -------------------------------------------------------------------------------- /contrib-modules/concat/Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/rake_tasks' 2 | require 'puppet-syntax/tasks/puppet-syntax' 3 | require 'puppet_blacksmith/rake_tasks' 4 | -------------------------------------------------------------------------------- /contrib-modules/concat/examples/fragment.pp: -------------------------------------------------------------------------------- 1 | concat { 'testconcat': 2 | ensure => present, 3 | path => '/tmp/concat', 4 | owner => 'root', 5 | group => 'root', 6 | mode => '0664', 7 | show_diff => true, 8 | } 9 | 10 | concat::fragment { '1': 11 | target => 'testconcat', 12 | content => '1', 13 | order => '01', 14 | } 15 | 16 | concat::fragment { '2': 17 | target => 'testconcat', 18 | content => '2', 19 | order => '02', 20 | } 21 | -------------------------------------------------------------------------------- /contrib-modules/concat/examples/init.pp: -------------------------------------------------------------------------------- 1 | concat { '/tmp/concat': 2 | ensure => present, 3 | owner => 'root', 4 | group => 'root', 5 | mode => '0644', 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/concat/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: el-7-x86_64 7 | hypervisor: vagrant 8 | box: puppetlabs/centos-7.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/concat/spec/acceptance/nodesets/debian-8-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: debian-8-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/debian-8.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/concat/spec/acceptance/nodesets/debian-9-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-9-x64: 3 | pe_dir: 4 | pe_ver: 5 | pe_upgrade_dir: 6 | pe_upgrade_ver: 7 | hypervisor: vmpooler 8 | platform: debian-9-x64 9 | ruby_arch: x64 10 | template: debian-9-x86_64 11 | roles: 12 | - agent 13 | - master 14 | - database 15 | - dashboard 16 | - default 17 | CONFIG: 18 | nfs_server: none 19 | consoleport: 443 20 | pooling_api: http://vmpooler.delivery.puppetlabs.net/ 21 | -------------------------------------------------------------------------------- /contrib-modules/concat/spec/acceptance/nodesets/default.yml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | windows2012-64-1: 4 | pe_dir: 5 | pe_ver: 6 | pe_upgrade_dir: 7 | pe_upgrade_ver: 8 | hypervisor: vmpooler 9 | platform: windows-2012-64 10 | ruby_arch: x64 11 | template: win-2012-x86_64 12 | roles: 13 | - agent 14 | - default 15 | CONFIG: 16 | nfs_server: none 17 | consoleport: 443 18 | pooling_api: http://vmpooler.delivery.puppetlabs.net/ 19 | -------------------------------------------------------------------------------- /contrib-modules/concat/spec/acceptance/nodesets/docker/centos-7.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | platform: el-7-x86_64 4 | hypervisor: docker 5 | image: centos:7 6 | docker_preserve_image: true 7 | docker_cmd: '["/usr/sbin/init"]' 8 | # install various tools required to get the image up to usable levels 9 | docker_image_commands: 10 | - 'yum install -y crontabs tar wget openssl sysvinit-tools iproute which initscripts' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/concat/spec/acceptance/nodesets/docker/debian-8.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | platform: debian-8-amd64 4 | hypervisor: docker 5 | image: debian:8 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | - 'apt-get update && apt-get install -y net-tools wget locales strace lsof && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen' 10 | CONFIG: 11 | trace_limit: 200 12 | -------------------------------------------------------------------------------- /contrib-modules/concat/spec/acceptance/nodesets/docker/ubuntu-14.04.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | platform: ubuntu-14.04-amd64 4 | hypervisor: docker 5 | image: ubuntu:14.04 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | # ensure that upstart is booting correctly in the container 10 | - 'rm /usr/sbin/policy-rc.d && rm /sbin/initctl && dpkg-divert --rename --remove /sbin/initctl && apt-get update && apt-get install -y net-tools wget && locale-gen en_US.UTF-8' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/datacat/Gemfile: -------------------------------------------------------------------------------- 1 | #!ruby 2 | source 'https://rubygems.org' 3 | 4 | group :development, :test do 5 | gem 'rake' 6 | gem 'puppetlabs_spec_helper', :require => false 7 | gem 'rspec-system-puppet', '~>2.0' 8 | gem 'puppet-lint' 9 | end 10 | 11 | group :development do 12 | gem 'pry' 13 | gem 'pry-debugger' 14 | gem 'rb-readline' 15 | gem 'awesome_print' 16 | end 17 | 18 | if puppetversion = ENV['PUPPET_GEM_VERSION'] 19 | gem 'puppet', puppetversion, :require => false 20 | else 21 | gem 'puppet', :require => false 22 | end 23 | -------------------------------------------------------------------------------- /contrib-modules/datacat/NOTES.md: -------------------------------------------------------------------------------- 1 | As we're using the rspec fixtures structure, we can run them quite simply 2 | 3 | rake spec_prep 4 | puppet apply --modulepath spec/fixtures/modules -e 'include demo1' 5 | -------------------------------------------------------------------------------- /contrib-modules/datacat/Rakefile: -------------------------------------------------------------------------------- 1 | require 'rubygems' 2 | require 'bundler/setup' 3 | 4 | Bundler.require :default 5 | 6 | require 'rspec/core/rake_task' 7 | require 'puppetlabs_spec_helper/rake_tasks' 8 | require 'rspec-system/rake_task' 9 | 10 | task :default do 11 | sh %{rake -T} 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/datacat/TODO.md: -------------------------------------------------------------------------------- 1 | # Docs 2 | README.md 3 | 4 | # Add the ability for datacat_fragment to load data from files on agent 5 | 6 | # No reason why the datacat_fragment can't load it's data_from a 7 | # file on the agents disk 8 | datacat_fragment { "hostgroups from yaml file": 9 | target => '/etc/nagios/objects/hostgroups.cfg', 10 | data_from => '/etc/nagios/build/hostgroups.yaml', 11 | } 12 | -------------------------------------------------------------------------------- /contrib-modules/datacat/lib/puppet/parser/functions/template_body.rb: -------------------------------------------------------------------------------- 1 | Puppet::Parser::Functions::newfunction(:template_body, :type => :rvalue) do |args| 2 | args.collect do |file| 3 | unless filename = Puppet::Parser::Files.find_template(file, self.compiler.environment) 4 | raise Puppet::ParseError, "Could not find template '#{file}'" 5 | end 6 | File.read(filename) 7 | end.join('') 8 | end 9 | -------------------------------------------------------------------------------- /contrib-modules/datacat/lib/puppet/provider/datacat_fragment/datacat_fragment.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.type(:datacat_fragment).provide(:datacat_fragment) do 2 | mk_resource_methods 3 | end 4 | -------------------------------------------------------------------------------- /contrib-modules/datacat/metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "richardc-datacat", 3 | "version": "0.6.2", 4 | "author": "Richard Clamp", 5 | "summary": "Puppet type for handling data fragments", 6 | "license": "Apache-2.0", 7 | "source": "https://github.com/richardc/puppet-datacat", 8 | "project_page": "https://github.com/richardc/puppet-datacat", 9 | "issues_url": "https://github.com/richardc/puppet-datacat/issues", 10 | "description": "A pair of types for handling data fragments and templating", 11 | "dependencies": [ 12 | 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/classes/demo1_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'demo1' do 4 | it { should create_notify('demo1') } 5 | it { should create_datacat('/tmp/demo1').with_template('demo1/sheeps.erb') } 6 | it { should create_datacat_fragment('data foo => 1').with_data({'foo'=>'1'}) } 7 | it { should create_datacat_fragment('data bar => 2').with_data({'bar'=>'2'}) } 8 | end 9 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/demo1/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class demo1 { 2 | notify { 'demo1': } 3 | 4 | datacat { '/tmp/demo1': 5 | template => 'demo1/sheeps.erb', 6 | } 7 | 8 | datacat_fragment { 'data foo => 1': 9 | target => '/tmp/demo1', 10 | data => { foo => 1 }, 11 | } 12 | 13 | datacat_fragment { 'data bar => 2': 14 | target => '/tmp/demo1', 15 | data => { bar => 2 }, 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/demo1/templates/sheeps.erb: -------------------------------------------------------------------------------- 1 | # This is a super simple demonstration - baah! 2 | 3 | <%= @data.to_yaml %> 4 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/demo2/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class demo2 { 2 | notify { 'demo2': } 3 | 4 | datacat { '/tmp/demo2': 5 | template => 'demo2/merging.erb', 6 | } 7 | 8 | datacat_fragment { 'data foo => 1, 2': 9 | target => '/tmp/demo2', 10 | data => { foo => [ 1, 2 ] }, 11 | } 12 | 13 | datacat_fragment { 'data foo => 2, 3': 14 | target => '/tmp/demo2', 15 | data => { foo => [ 2, 3 ] }, 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/demo2/templates/merging.erb: -------------------------------------------------------------------------------- 1 | data.foo should be a merged array <%= @data['foo'].join(', ') %> 2 | and we can uniq it <%= @data['foo'].uniq.join(', ') %> 3 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/demo3/manifests/init.pp: -------------------------------------------------------------------------------- 1 | # 2 | class demo3 { 3 | datacat { '/tmp/demo3': 4 | template => 'demo3/hostgroups.cfg.erb', 5 | } 6 | 7 | $host1 = 'foo.example.com' 8 | datacat_fragment { 'foo host': 9 | target => '/tmp/demo3', 10 | data => { 11 | device => [ $host1 ], 12 | }, 13 | } 14 | 15 | $ilo_fqdn = 'foo-ilo.example.com' 16 | datacat_fragment { 'foo ilo': 17 | target => '/tmp/demo3', 18 | data => { 19 | device => [ $ilo_fqdn ], 20 | }, 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/demo3/templates/hostgroups.cfg.erb: -------------------------------------------------------------------------------- 1 | # hostgroups.cfg.erb 2 | <% @data.keys.sort.each do |hostgroup| %> 3 | define hostgroup { 4 | name <%= hostgroup %> 5 | members <%= @data[hostgroup].sort.join(',') %> 6 | } 7 | <% end %> 8 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/issue1/manifests/init.pp: -------------------------------------------------------------------------------- 1 | # This should repo the scope error from github issue #1 2 | class issue1 { 3 | datacat { "/tmp/issue1.1": 4 | template => "issue1/refers_to_scope.erb", 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/issue1/templates/refers_to_scope.erb: -------------------------------------------------------------------------------- 1 | We don't expect this to actually work as scope is only avilable to 2 | templates evaluated by the template() function. 3 | 4 | It should however say that it's line 7 of refers_to_scope.erb in the error 5 | that is raised. 6 | 7 | <%= scope.lookupvar("pies") %> 8 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/fixtures/modules/template_body/templates/test1.erb: -------------------------------------------------------------------------------- 1 | Goodbye cruel world 2 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/functions/template_body_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'template_body' do 4 | it { should run.with_params('template_body/really_should_never_exist.erb').and_raise_error(Puppet::ParseError, /Could not find template 'template_body\/really_should_never_exist.erb'/) } 5 | it { should run.with_params('template_body/test1.erb').and_return("Goodbye cruel world\n") } 6 | end 7 | -------------------------------------------------------------------------------- /contrib-modules/datacat/spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/module_spec_helper' 2 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/.fixtures.yml: -------------------------------------------------------------------------------- 1 | fixtures: 2 | forge_modules: 3 | stdlib: puppetlabs/stdlib 4 | apt: puppetlabs/apt 5 | zypprepo: darin/zypprepo 6 | yum: puppet/yum 7 | symlinks: 8 | elastic_stack: "#{source_dir}" 9 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/.gitattributes: -------------------------------------------------------------------------------- 1 | *.rb eol=lf 2 | *.erb eol=lf 3 | *.pp eol=lf 4 | *.sh eol=lf 5 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/.gitignore: -------------------------------------------------------------------------------- 1 | .*.sw[op] 2 | .metadata 3 | .yardoc 4 | .yardwarns 5 | *.iml 6 | /.bundle/ 7 | /.idea/ 8 | /.vagrant/ 9 | /coverage/ 10 | /bin/ 11 | /doc/ 12 | /Gemfile.local 13 | /Gemfile.lock 14 | /junit/ 15 | /log/ 16 | /log/ 17 | /pkg/ 18 | /spec/fixtures/manifests/ 19 | /spec/fixtures/modules/ 20 | /tmp/ 21 | /vendor/ 22 | 23 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/.pmtignore: -------------------------------------------------------------------------------- 1 | docs/ 2 | pkg/ 3 | Gemfile.lock 4 | Gemfile.local 5 | vendor/ 6 | .vendor/ 7 | spec/fixtures/manifests/ 8 | spec/fixtures/modules/ 9 | .vagrant/ 10 | .bundle/ 11 | .ruby-version 12 | coverage/ 13 | log/ 14 | .idea/ 15 | .dependencies/ 16 | .librarian/ 17 | Puppetfile.lock 18 | *.iml 19 | .*.sw? 20 | .yardoc/ 21 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/.rspec: -------------------------------------------------------------------------------- 1 | --color 2 | --format documentation 3 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/.yardopts: -------------------------------------------------------------------------------- 1 | --markup markdown 2 | --output-dir docs/ 3 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/rake_tasks' 2 | require 'puppet-syntax/tasks/puppet-syntax' 3 | 4 | desc 'Run the test suite.' 5 | task :test => [ 6 | :rubocop, 7 | :syntax, 8 | :validate, 9 | :lint, 10 | :spec 11 | ] 12 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/Vagrantfile.d/manifests/site.pp: -------------------------------------------------------------------------------- 1 | class { 'elastic_stack::repo': 2 | } 3 | -------------------------------------------------------------------------------- /contrib-modules/elastic_stack/spec/default_facts.yml: -------------------------------------------------------------------------------- 1 | # Use default_module_facts.yml for module specific facts. 2 | # 3 | # Facts specified here will override the values provided by rspec-puppet-facts. 4 | --- 5 | concat_basedir: "/tmp" 6 | ipaddress: "172.16.254.254" 7 | is_pe: false 8 | macaddress: "AA:AA:AA:AA:AA:AA" 9 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/distro/Amazon.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.RedHat.erb" 3 | elasticsearch::service_provider: init 4 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/distro/Amazon/2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.systemd.erb" 3 | elasticsearch::service_provider: systemd 4 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/distro/Debian/7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.Debian.erb" 3 | elasticsearch::pid_dir: ~ 4 | elasticsearch::service_provider: init 5 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/distro/Ubuntu/12.04.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.Debian.erb" 3 | elasticsearch::pid_dir: ~ 4 | elasticsearch::service_provider: init 5 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/distro/Ubuntu/14.04.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.Debian.erb" 3 | elasticsearch::pid_dir: ~ 4 | elasticsearch::service_provider: init 5 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/kernel/Darwin.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::download_tool: 'curl --insecure -o' 3 | elasticsearch::elasticsearch_user: elasticsearch 4 | elasticsearch::elasticsearch_group: elasticsearch 5 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/kernel/Linux.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::datadir: /var/lib/elasticsearch 3 | elasticsearch::download_tool: 'wget --no-check-certificate -O' 4 | elasticsearch::elasticsearch_user: elasticsearch 5 | elasticsearch::elasticsearch_group: elasticsearch 6 | elasticsearch::homedir: /usr/share/elasticsearch 7 | elasticsearch::package_dir: /opt/elasticsearch/swdl 8 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/kernel/OpenBSD.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::datadir: /var/elasticsearch/data 3 | elasticsearch::download_tool: 'ftp -o' 4 | elasticsearch::elasticsearch_user: _elasticsearch 5 | elasticsearch::elasticsearch_group: _elasticsearch 6 | elasticsearch::homedir: /usr/local/elasticsearch 7 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.OpenBSD.erb" 8 | elasticsearch::package_dir: /var/cache/elasticsearch 9 | elasticsearch::service_provider: openbsd 10 | elasticsearch::manage_repo: false 11 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/os/Debian.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::defaults_location: /etc/default 3 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/os/Gentoo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::defaults_location: /etc/conf.d 3 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.openrc.erb" 4 | elasticsearch::package_name: app-misc/elasticsearch 5 | elasticsearch::pid_dir: /run/elasticsearch 6 | elasticsearch::service_provider: openrc 7 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/os/RedHat.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::defaults_location: /etc/sysconfig 3 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/os/RedHat/5.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.RedHat.erb" 3 | elasticsearch::service_provider: init 4 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/os/RedHat/6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.RedHat.erb" 3 | elasticsearch::service_provider: init 4 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/os/Suse.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::defaults_location: /etc/sysconfig 3 | elasticsearch::systemd_service_path: /usr/lib/systemd/system 4 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/data/os/Suse/11.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | elasticsearch::init_template: "%{module_name}/etc/init.d/elasticsearch.SLES.erb" 3 | elasticsearch::pid_dir: ~ 4 | elasticsearch::service_provider: init 5 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_pipeline/ruby.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_rest' 2 | 3 | Puppet::Type.type(:elasticsearch_pipeline).provide( 4 | :ruby, 5 | :parent => Puppet::Provider::ElasticREST, 6 | :metadata => :content, 7 | :api_uri => '_ingest/pipeline' 8 | ) do 9 | desc 'A REST API based provider to manage Elasticsearch ingest pipelines.' 10 | 11 | mk_resource_methods 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_role/shield.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_yaml' 2 | 3 | Puppet::Type.type(:elasticsearch_role).provide( 4 | :shield, 5 | :parent => Puppet::Provider::ElasticYaml, 6 | :metadata => :privileges 7 | ) do 8 | desc 'Provider for Shield role resources.' 9 | 10 | shield_config 'roles.yml' 11 | confine :exists => default_target 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_role/xpack.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_yaml' 2 | 3 | Puppet::Type.type(:elasticsearch_role).provide( 4 | :xpack, 5 | :parent => Puppet::Provider::ElasticYaml, 6 | :metadata => :privileges 7 | ) do 8 | desc 'Provider for X-Pack role resources.' 9 | 10 | xpack_config 'roles.yml' 11 | confine :exists => default_target 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_role_mapping/shield.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_yaml' 2 | 3 | Puppet::Type.type(:elasticsearch_role_mapping).provide( 4 | :shield, 5 | :parent => Puppet::Provider::ElasticYaml, 6 | :metadata => :mappings 7 | ) do 8 | desc 'Provider for Shield role mappings.' 9 | 10 | shield_config 'role_mapping.yml' 11 | confine :exists => default_target 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_role_mapping/xpack.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_yaml' 2 | 3 | Puppet::Type.type(:elasticsearch_role_mapping).provide( 4 | :xpack, 5 | :parent => Puppet::Provider::ElasticYaml, 6 | :metadata => :mappings 7 | ) do 8 | desc 'Provider for X-Pack role mappings.' 9 | 10 | xpack_config 'role_mapping.yml' 11 | confine :exists => default_target 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_user/esusers.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_user_command' 2 | 3 | Puppet::Type.type(:elasticsearch_user).provide( 4 | :esusers, 5 | :parent => Puppet::Provider::ElasticUserCommand 6 | ) do 7 | desc 'Provider for Shield file (esusers) user resources.' 8 | 9 | has_feature :manages_plaintext_passwords 10 | 11 | mk_resource_methods 12 | 13 | commands :users_cli => "#{homedir}/bin/shield/esusers" 14 | commands :es => "#{homedir}/bin/elasticsearch" 15 | end 16 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_user/users.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_user_command' 2 | 3 | Puppet::Type.type(:elasticsearch_user).provide( 4 | :users, 5 | :parent => Puppet::Provider::ElasticUserCommand 6 | ) do 7 | desc 'Provider for X-Pack file (users) user resources.' 8 | 9 | has_feature :manages_plaintext_passwords 10 | 11 | mk_resource_methods 12 | 13 | commands :users_cli => "#{homedir}/bin/x-pack/users" 14 | commands :es => "#{homedir}/bin/elasticsearch" 15 | end 16 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_user_roles/shield.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_user_roles' 2 | 3 | Puppet::Type.type(:elasticsearch_user_roles).provide( 4 | :shield, 5 | :parent => Puppet::Provider::ElasticUserRoles 6 | ) do 7 | desc 'Provider for Shield user roles (parsed file.)' 8 | 9 | shield_config 'users_roles' 10 | confine :exists => default_target 11 | end 12 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/provider/elasticsearch_user_roles/xpack.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/elastic_user_roles' 2 | 3 | Puppet::Type.type(:elasticsearch_user_roles).provide( 4 | :xpack, 5 | :parent => Puppet::Provider::ElasticUserRoles 6 | ) do 7 | desc 'Provider for X-Pack user roles (parsed file.)' 8 | 9 | xpack_config 'users_roles' 10 | confine :exists => default_target 11 | end 12 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/type/elasticsearch_role.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:elasticsearch_role) do 2 | desc 'Type to model Elasticsearch roles.' 3 | 4 | ensurable 5 | 6 | newparam(:name, :namevar => true) do 7 | desc 'Role name.' 8 | 9 | newvalues(/^[a-zA-Z_]{1}[-\w@.$]{0,29}$/) 10 | end 11 | 12 | newproperty(:privileges) do 13 | desc 'Security privileges of the given role.' 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/type/elasticsearch_role_mapping.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:elasticsearch_role_mapping) do 2 | desc 'Type to model Elasticsearch role mappings.' 3 | 4 | ensurable 5 | 6 | newparam(:name, :namevar => true) do 7 | desc 'Role name.' 8 | 9 | newvalues(/^[a-zA-Z_]{1}[-\w@.$]{0,29}$/) 10 | end 11 | 12 | newproperty(:mappings, :array_matching => :all) do 13 | desc 'List of role mappings.' 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/lib/puppet/type/elasticsearch_user_roles.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:elasticsearch_user_roles) do 2 | desc 'Type to model Elasticsearch user roles.' 3 | 4 | ensurable 5 | 6 | newparam(:name, :namevar => true) do 7 | desc 'User name.' 8 | end 9 | 10 | newproperty(:roles, :array_matching => :all) do 11 | desc 'Array of roles that the user should belong to.' 12 | def insync?(is) 13 | is.sort == should.sort 14 | end 15 | end 16 | 17 | autorequire(:elasticsearch_user) do 18 | self[:name] 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/templates/etc/elasticsearch/elasticsearch.yml.erb: -------------------------------------------------------------------------------- 1 | ### MANAGED BY PUPPET ### 2 | <%- 3 | $LOAD_PATH.unshift(File.join(File.dirname(__FILE__),"..","..","..","lib")) 4 | require 'puppet_x/elastic/deep_to_i' 5 | require 'puppet_x/elastic/hash' 6 | 7 | @yml_string = '' 8 | 9 | if !@data.empty? 10 | 11 | # Sort Hash and transform it into yaml 12 | @yml_string += Puppet_X::Elastic::deep_to_i( 13 | @data 14 | ).extend( 15 | Puppet_X::Elastic::SortedHash 16 | ).to_yaml 17 | end 18 | -%> 19 | <%= @yml_string %> 20 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/templates/etc/sysconfig/defaults.erb: -------------------------------------------------------------------------------- 1 | <%- unless @new_init_defaults.key? 'CONF_FILE' -%> 2 | rm CONF_FILE 3 | <%- end -%> 4 | <% @new_init_defaults.sort.map do |key, value| -%> 5 | set <%= key %> '<%= value %>' 6 | <% end -%> 7 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/templates/usr/lib/tmpfiles.d/elasticsearch.conf.erb: -------------------------------------------------------------------------------- 1 | d <%= @pid_dir %> 0755 <%= @user %> <%= @group %> - - 2 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/types/multipath.pp: -------------------------------------------------------------------------------- 1 | type Elasticsearch::Multipath = Variant[Array[Stdlib::Absolutepath], Stdlib::Absolutepath] 2 | -------------------------------------------------------------------------------- /contrib-modules/elasticsearch/types/status.pp: -------------------------------------------------------------------------------- 1 | type Elasticsearch::Status = Enum['enabled', 'disabled', 'running', 'unmanaged'] 2 | -------------------------------------------------------------------------------- /contrib-modules/firewall/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | ## Maintenance 2 | 3 | Maintainers: 4 | - Puppet Forge Modules Team `forge-modules |at| puppet |dot| com` 5 | 6 | Tickets: https://tickets.puppet.com/browse/MODULES. Make sure to set component to `firewall`. 7 | -------------------------------------------------------------------------------- /contrib-modules/firewall/Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/rake_tasks' 2 | require 'puppet-syntax/tasks/puppet-syntax' 3 | require 'puppet_blacksmith/rake_tasks' 4 | -------------------------------------------------------------------------------- /contrib-modules/firewall/lib/facter/ip6tables_version.rb: -------------------------------------------------------------------------------- 1 | Facter.add(:ip6tables_version) do 2 | confine kernel: :Linux 3 | setcode do 4 | version = Facter::Util::Resolution.exec('ip6tables --version') 5 | if version 6 | version.match(%r{\d+\.\d+\.\d+}).to_s 7 | else 8 | nil 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /contrib-modules/firewall/lib/facter/iptables_version.rb: -------------------------------------------------------------------------------- 1 | Facter.add(:iptables_version) do 2 | confine kernel: :Linux 3 | setcode do 4 | version = Facter::Util::Resolution.exec('iptables --version') 5 | if version 6 | version.match(%r{\d+\.\d+\.\d+}).to_s 7 | else 8 | nil 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: el-7-x86_64 7 | hypervisor: vagrant 8 | box: puppetlabs/centos-7.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/acceptance/nodesets/debian-8-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: debian-8-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/debian-8.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/acceptance/nodesets/default.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: ubuntu-14.04-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/ubuntu-14.04-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/acceptance/nodesets/docker/centos-7.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | platform: el-7-x86_64 4 | hypervisor: docker 5 | image: centos:7 6 | docker_preserve_image: true 7 | docker_cmd: '["/usr/sbin/init"]' 8 | # install various tools required to get the image up to usable levels 9 | docker_image_commands: 10 | - 'yum install -y crontabs tar wget openssl sysvinit-tools iproute which initscripts' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/acceptance/nodesets/docker/debian-8.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | platform: debian-8-amd64 4 | hypervisor: docker 5 | image: debian:8 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | - 'apt-get update && apt-get install -y net-tools wget locales strace lsof && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen' 10 | CONFIG: 11 | trace_limit: 200 12 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/acceptance/nodesets/docker/ubuntu-14.04.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | platform: ubuntu-14.04-amd64 4 | hypervisor: docker 5 | image: ubuntu:14.04 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | # ensure that upstart is booting correctly in the container 10 | - 'rm /usr/sbin/policy-rc.d && rm /sbin/initctl && dpkg-divert --rename --remove /sbin/initctl && apt-get update && apt-get install -y net-tools wget && locale-gen en_US.UTF-8' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/default_facts.yml: -------------------------------------------------------------------------------- 1 | # Use default_module_facts.yml for module specific facts. 2 | # 3 | # Facts specified here will override the values provided by rspec-puppet-facts. 4 | --- 5 | concat_basedir: "/tmp" 6 | ipaddress: "172.16.254.254" 7 | is_pe: false 8 | macaddress: "AA:AA:AA:AA:AA:AA" 9 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/spec_helper_local.rb: -------------------------------------------------------------------------------- 1 | RSpec.configure do |config| 2 | config.mock_with :rspec 3 | end 4 | 5 | def with_debian_facts 6 | let :facts do 7 | { 8 | kernel: 'Linux', 9 | operatingsystem: 'Debian', 10 | operatingsystemrelease: '8.0', 11 | osfamily: 'Debian', 12 | } 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /contrib-modules/firewall/spec/unit/documentation/readme_spec.rb: -------------------------------------------------------------------------------- 1 | describe 'formatting in README.markdown' do 2 | it 'does not contain badly formatted heading markers' do 3 | content = File.read('README.markdown') 4 | expect(content).not_to match %r{^#+[^# ]} 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /contrib-modules/gcc/checksums.json: -------------------------------------------------------------------------------- 1 | { 2 | "CHANGELOG.md": "07a022c15776114a8cf30e658abe86d0", 3 | "LICENSE": "6089b6bd1f0d807edb8bdfd76da0b038", 4 | "manifests/init.pp": "ba0890e527114bc4febcadd34978dda3", 5 | "manifests/params.pp": "d5c91dac83c14ef7f1afccf1ff31a0d9", 6 | "metadata.json": "621260d991e556d16cd00e7c18b79623", 7 | "tests/init.pp": "d97b158981e1e2b710a0dec5ce8d40d0", 8 | "tests/params.pp": "34196cd17ebe3b0665a909625dc384f7" 9 | } -------------------------------------------------------------------------------- /contrib-modules/gcc/manifests/init.pp: -------------------------------------------------------------------------------- 1 | # Class: gcc 2 | # 3 | # This class installs gcc 4 | # 5 | # Parameters: 6 | # 7 | # Actions: 8 | # - Install the gcc package 9 | # 10 | # Requires: 11 | # 12 | # Sample Usage: 13 | # 14 | class gcc( 15 | $gcc_packages = $gcc::params::gcc_packages, 16 | ) inherits gcc::params { 17 | ensure_packages($gcc_packages) 18 | } 19 | -------------------------------------------------------------------------------- /contrib-modules/gcc/manifests/params.pp: -------------------------------------------------------------------------------- 1 | # Class: gcc::params 2 | # 3 | # This class manages parameters for the gcc module 4 | # 5 | # Parameters: 6 | # 7 | # Actions: 8 | # 9 | # Requires: 10 | # 11 | # Sample Usage: 12 | # 13 | class gcc::params { 14 | case $::osfamily { 15 | 'RedHat': { 16 | $gcc_packages = [ 'gcc', 'gcc-c++' ] 17 | } 18 | 'Debian': { 19 | $gcc_packages = [ 'gcc', 'build-essential' ] 20 | } 21 | default: { 22 | fail("Class['gcc::params']: Unsupported osfamily: ${::osfamily}") 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /contrib-modules/gcc/tests/init.pp: -------------------------------------------------------------------------------- 1 | include gcc 2 | -------------------------------------------------------------------------------- /contrib-modules/gcc/tests/params.pp: -------------------------------------------------------------------------------- 1 | include gcc::params 2 | -------------------------------------------------------------------------------- /contrib-modules/java/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | ## Maintenance 2 | 3 | Maintainers: 4 | - Puppet Forge Modules Team `forge-modules |at| puppet |dot| com` 5 | 6 | Tickets: https://tickets.puppet.com/browse/MODULES. Make sure to set component to `java`. 7 | -------------------------------------------------------------------------------- /contrib-modules/java/Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/rake_tasks' 2 | require 'puppet-syntax/tasks/puppet-syntax' 3 | require 'puppet_blacksmith/rake_tasks' 4 | -------------------------------------------------------------------------------- /contrib-modules/java/examples/alternative.pp: -------------------------------------------------------------------------------- 1 | class { 'java': 2 | package => 'jdk-8u25-linux-x64', 3 | java_alternative => 'jdk1.8.0_25', 4 | java_alternative_path => '/usr/java/jdk1.8.0_25/jre/bin/java' 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/java/examples/init.pp: -------------------------------------------------------------------------------- 1 | class { 'java': 2 | distribution => 'jdk', 3 | version => 'latest', 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/java/examples/oracle.pp: -------------------------------------------------------------------------------- 1 | java::oracle { 'jdk6' : 2 | ensure => 'present', 3 | version => '6', 4 | java_se => 'jdk', 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/java/lib/facter/java_patch_level.rb: -------------------------------------------------------------------------------- 1 | # Fact: java_patch_level 2 | # 3 | # Purpose: get Java's patch level 4 | # 5 | # Resolution: 6 | # Uses java_version fact splits on the patch number (after _) 7 | # 8 | # Caveats: 9 | # none 10 | # 11 | # Notes: 12 | # None 13 | Facter.add(:java_patch_level) do 14 | java_patch_level = nil 15 | setcode do 16 | java_version = Facter.value(:java_version) 17 | java_patch_level = java_version.strip.split('_')[1] unless java_version.nil? 18 | end 19 | java_patch_level 20 | end 21 | -------------------------------------------------------------------------------- /contrib-modules/java/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: el-7-x86_64 7 | hypervisor: vagrant 8 | box: puppetlabs/centos-7.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/java/spec/acceptance/nodesets/debian-8-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: debian-8-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/debian-8.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/java/spec/acceptance/nodesets/default.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: ubuntu-14.04-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/ubuntu-14.04-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/java/spec/acceptance/nodesets/docker/centos-7.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | platform: el-7-x86_64 4 | hypervisor: docker 5 | image: centos:7 6 | docker_preserve_image: true 7 | docker_cmd: '["/usr/sbin/init"]' 8 | # install various tools required to get the image up to usable levels 9 | docker_image_commands: 10 | - 'yum install -y crontabs tar wget openssl sysvinit-tools iproute which initscripts' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/java/spec/acceptance/nodesets/docker/debian-8.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | platform: debian-8-amd64 4 | hypervisor: docker 5 | image: debian:8 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | - 'apt-get update && apt-get install -y net-tools wget locales strace lsof && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen' 10 | CONFIG: 11 | trace_limit: 200 12 | -------------------------------------------------------------------------------- /contrib-modules/java/spec/acceptance/nodesets/docker/ubuntu-14.04.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | platform: ubuntu-14.04-amd64 4 | hypervisor: docker 5 | image: ubuntu:14.04 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | # ensure that upstart is booting correctly in the container 10 | - 'rm /usr/sbin/policy-rc.d && rm /sbin/initctl && dpkg-divert --rename --remove /sbin/initctl && apt-get update && apt-get install -y net-tools wget && locale-gen en_US.UTF-8' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Andreas Ntaflos 2 | Atom Powers 3 | Dan Urist 4 | Daniel Beckham 5 | David Collom 6 | Jean-Francois Roche 7 | Jurgen Weber 8 | Keith McDuffee 9 | Mark McKinstry 10 | Mason Malone 11 | Matthias Kneer 12 | Michael Moll 13 | Mick Pollard 14 | NateMcCurdy 15 | Nathan Huff 16 | Nicolas Jehle 17 | Robin Bowes 18 | Siebrand Mazeland 19 | Tim Sharpe 20 | ncsutmf 21 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/files/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/metacpan/metacpan-puppet/2825f583315ab042d5d96ecbc71639e64c244efe/contrib-modules/logrotate/files/.gitkeep -------------------------------------------------------------------------------- /contrib-modules/logrotate/manifests/install.pp: -------------------------------------------------------------------------------- 1 | # make sure logrotate is installed 2 | class logrotate::install{ 3 | 4 | assert_private() 5 | 6 | if $logrotate::manage_package { 7 | package { $logrotate::package: 8 | ensure => $logrotate::ensure, 9 | } 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/manifests/rules.pp: -------------------------------------------------------------------------------- 1 | # apply user-defined rules 2 | class logrotate::rules ($rules = $::logrotate::rules){ 3 | 4 | assert_private() 5 | 6 | create_resources('logrotate::rule', $rules) 7 | 8 | } -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/class_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'logrotate class' do 4 | context 'default parameters' do 5 | # Using puppet_apply as a helper 6 | it 'works idempotently with no errors' do 7 | pp = <<-EOS 8 | class { 'logrotate': } 9 | EOS 10 | 11 | # Run it twice and test for idempotency 12 | apply_manifest(pp, catch_failures: true) 13 | apply_manifest(pp, catch_changes: true) 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/archlinux-2-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | archlinux-2-x64: 7 | roles: 8 | - master 9 | platform: archlinux-2-x64 10 | box: archlinux/archlinux 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/centos-511-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-511-x64: 7 | roles: 8 | - master 9 | platform: el-5-x86_64 10 | box: puppetlabs/centos-5.11-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/centos-6-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-6-x64: 7 | roles: 8 | - master 9 | platform: el-6-x86_64 10 | box: centos/6 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/centos-64-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-64-x64: 3 | roles: 4 | - master 5 | platform: el-6-x86_64 6 | box : centos-64-x64-vbox4210-nocm 7 | box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box 8 | hypervisor : vagrant 9 | CONFIG: 10 | log_level: verbose 11 | type: foss 12 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/centos-66-x64-pe.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-66-x64: 7 | roles: 8 | - master 9 | - database 10 | - dashboard 11 | platform: el-6-x86_64 12 | box: puppetlabs/centos-6.6-64-puppet-enterprise 13 | hypervisor: vagrant 14 | CONFIG: 15 | type: pe 16 | ... 17 | # vim: syntax=yaml 18 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/centos-66-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | centos-66-x64: 4 | roles: 5 | - master 6 | platform: el-6-x86_64 7 | box: puppetlabs/centos-6.6-64-nocm 8 | hypervisor: vagrant 9 | CONFIG: 10 | type: foss 11 | ... 12 | # vim: syntax=yaml 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-7-x64: 7 | roles: 8 | - master 9 | platform: el-7-x86_64 10 | box: centos/7 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/centos-72-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | centos-72-x64: 4 | roles: 5 | - master 6 | platform: el-7-x86_64 7 | box: puppetlabs/centos-7.2-64-nocm 8 | hypervisor: vagrant 9 | CONFIG: 10 | type: foss 11 | ... 12 | # vim: syntax=yaml 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/debian-609-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-609-x64: 3 | roles: 4 | - master 5 | platform: debian-6-amd64 6 | box: puppetlabs/debian-6.0.9-64-nocm 7 | box_url: https://vagrantcloud.com/puppetlabs/boxes/debian-6.0.9-64-nocm 8 | hypervisor: vagrant 9 | 10 | CONFIG: 11 | log_level: verbose 12 | type: foss 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/debian-76-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-76-x64: 3 | roles: 4 | - master 5 | platform: debian-7-amd64 6 | box: puppetlabs/debian-7.6-64-nocm 7 | box_url: https://vagrantcloud.com/puppetlabs/boxes/debian-7.6-64-nocm 8 | hypervisor: vagrant 9 | 10 | CONFIG: 11 | log_level: verbose 12 | type: foss 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/debian-78-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | debian-78-x64: 7 | roles: 8 | - master 9 | platform: debian-7-amd64 10 | box: puppetlabs/debian-7.8-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/debian-82-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | debian-82-x64: 7 | roles: 8 | - master 9 | platform: debian-8-amd64 10 | box: puppetlabs/debian-8.2-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/default.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-server-1204-x64: 3 | roles: 4 | - master 5 | platform: ubuntu-1204-amd64 6 | box: puppetlabs/ubuntu-12.04-64-nocm 7 | box_url: https://vagrantcloud.com/puppetlabs/boxes/ubuntu-12.04-64-nocm 8 | hypervisor: vagrant 9 | 10 | CONFIG: 11 | log_level: verbose 12 | type: foss 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/fedora-20-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | fedora-20-x64: 3 | roles: 4 | - master 5 | platform: el-7-x86_64 6 | box: chef/fedora-20 7 | box_url: https://vagrantcloud.com/chef/boxes/fedora-20 8 | hypervisor: vagrant 9 | 10 | CONFIG: 11 | log_level: verbose 12 | type: foss 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/fedora-24-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | fedora-24-x64: 7 | roles: 8 | - master 9 | platform: fedora-24-x86_64 10 | box: fedora/24-cloud-base 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/fedora-25-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | HOSTS: 7 | fedora-25-x64: 8 | roles: 9 | - master 10 | platform: fedora-25-x86_64 11 | box: fedora/25-cloud-base 12 | hypervisor: vagrant 13 | CONFIG: 14 | type: aio 15 | ... 16 | # vim: syntax=yaml 17 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/fedora-26-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | HOSTS: 7 | fedora-26-x64: 8 | roles: 9 | - master 10 | platform: fedora-26-x86_64 11 | box: fedora/26-cloud-base 12 | hypervisor: vagrant 13 | CONFIG: 14 | type: aio 15 | ... 16 | # vim: syntax=yaml 17 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/fedora-27-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | # platform is fedora 26 because there is no puppet-agent 7 | # for fedora 27 as of 2017-11-17 8 | HOSTS: 9 | fedora-27-x64: 10 | roles: 11 | - master 12 | platform: fedora-26-x86_64 13 | box: fedora/27-cloud-base 14 | hypervisor: vagrant 15 | CONFIG: 16 | type: aio 17 | ... 18 | # vim: syntax=yaml 19 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/ubuntu-server-1204-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1204-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-12.04-amd64 10 | box: puppetlabs/ubuntu-12.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-server-12042-x64: 3 | roles: 4 | - master 5 | platform: ubuntu-server-12.04-amd64 6 | box: ubuntu-server-12042-x64-vbox4210-nocm 7 | box_url: http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box 8 | hypervisor: vagrant 9 | 10 | CONFIG: 11 | log_level: verbose 12 | type: foss 13 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1404-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-14.04-amd64 10 | box: puppetlabs/ubuntu-14.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/acceptance/nodesets/ubuntu-server-1604-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1604-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-16.04-amd64 10 | box: puppetlabs/ubuntu-16.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/classes/coverage_spec.rb: -------------------------------------------------------------------------------- 1 | require 'rspec-puppet' 2 | 3 | at_exit { RSpec::Puppet::Coverage.report! } 4 | # vim: syntax=ruby 5 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/spec/default_facts.yml: -------------------------------------------------------------------------------- 1 | # This file is managed via modulesync 2 | # https://github.com/voxpupuli/modulesync 3 | # https://github.com/voxpupuli/modulesync_config 4 | # 5 | # use default_module_facts.yaml for module specific 6 | # facts. 7 | # 8 | # Hint if using with rspec-puppet-facts ("on_supported_os.each"): 9 | # if a same named fact exists in facterdb it will be overridden. 10 | --- 11 | concat_basedir: "/tmp" 12 | ipaddress: "172.16.254.254" 13 | is_pe: false 14 | macaddress: "AA:AA:AA:AA:AA:AA" 15 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/templates/etc/cron/logrotate.erb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # THIS FILE IS AUTOMATICALLY DISTRIBUTED BY PUPPET. ANY CHANGES WILL BE 3 | # OVERWRITTEN. 4 | 5 | OUTPUT=$(<%= @logrotate_path -%> <%= @logrotate_arg -%> 2>&1) 6 | EXITVALUE=$? 7 | if [ $EXITVALUE != 0 ]; then 8 | /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" 9 | echo "${OUTPUT}" 10 | fi 11 | exit $EXITVALUE 12 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/types/commands.pp: -------------------------------------------------------------------------------- 1 | type Logrotate::Commands = Variant[String,Array[String]] 2 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/types/every.pp: -------------------------------------------------------------------------------- 1 | type Logrotate::Every = Pattern['^hour(|ly)$','^da(|il)y$','^week(|ly)$','^month(|ly)$','^year(|ly)$'] -------------------------------------------------------------------------------- /contrib-modules/logrotate/types/path.pp: -------------------------------------------------------------------------------- 1 | type Logrotate::Path = Variant[Stdlib::UnixPath,Array[Stdlib::UnixPath]] 2 | -------------------------------------------------------------------------------- /contrib-modules/logrotate/types/size.pp: -------------------------------------------------------------------------------- 1 | type Logrotate::Size = Variant[Integer, Pattern[/^\d+[kMG]?$/]] 2 | -------------------------------------------------------------------------------- /contrib-modules/logstash/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | The following is a list of people who have contributed ideas, code, bug 2 | reports, or in general have helped this puppet module along its way. 3 | 4 | Project Owner 5 | * Richard Pijnenburg (electrical) 6 | 7 | Contributors: 8 | * Jordan Sissel (jordansissel) 9 | * Dan (phrawzty) 10 | * Garth Kidd (garthk) 11 | * Tavis Aitken (tavisto) 12 | * pkubat 13 | * Jeff Wong (awole20) 14 | * Bob (rjw1) 15 | * Dan Carley (dcarley) 16 | * Brian Lalor (blalor) 17 | * Justin Lambert (jlambert) 18 | * Richard Peng (richardpeng) 19 | * Matthias Baur (baurmatt) 20 | -------------------------------------------------------------------------------- /contrib-modules/logstash/doc/css/common.css: -------------------------------------------------------------------------------- 1 | /* Ensure the search bar doesn't overlap with links */ 2 | .fixed_header { 3 | padding-bottom: 25px; 4 | } 5 | 6 | #full_list { 7 | padding-top: 15px; 8 | } 9 | -------------------------------------------------------------------------------- /contrib-modules/logstash/doc/frames.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Documentation by YARD 0.9.13 6 | 7 | 13 | 17 | 18 | -------------------------------------------------------------------------------- /contrib-modules/logstash/files/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/metacpan/metacpan-puppet/2825f583315ab042d5d96ecbc71639e64c244efe/contrib-modules/logstash/files/.gitignore -------------------------------------------------------------------------------- /contrib-modules/logstash/files/grok-pattern-0: -------------------------------------------------------------------------------- 1 | GROK_PATTERN_0 . 2 | -------------------------------------------------------------------------------- /contrib-modules/logstash/files/grok-pattern-1: -------------------------------------------------------------------------------- 1 | GROK_PATTERN_1 . 2 | -------------------------------------------------------------------------------- /contrib-modules/logstash/files/logstash-output-cowsay-5.0.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/metacpan/metacpan-puppet/2825f583315ab042d5d96ecbc71639e64c244efe/contrib-modules/logstash/files/logstash-output-cowsay-5.0.0.zip -------------------------------------------------------------------------------- /contrib-modules/logstash/files/null-output.conf: -------------------------------------------------------------------------------- 1 | # Test output configuration with null output. 2 | output { 3 | null {} 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/logstash/templates/configfile-template.erb: -------------------------------------------------------------------------------- 1 | # 2 + 2 equals <%= 2+2 -%> 2 | -------------------------------------------------------------------------------- /contrib-modules/logstash/templates/pipelines.yml.erb: -------------------------------------------------------------------------------- 1 | <%= @pipelines.to_yaml %> 2 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | ## Maintenance 2 | 3 | Maintainers: 4 | - Puppet Forge Modules Team `forge-modules |at| puppet |dot| com` 5 | 6 | Tickets: https://tickets.puppet.com/browse/MODULES. Make sure to set component to `postgresql`. 7 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/rake_tasks' 2 | require 'puppet-syntax/tasks/puppet-syntax' 3 | require 'puppet_blacksmith/rake_tasks' 4 | require 'puppet-lint/tasks/puppet-lint' 5 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/files/validate_postgresql_connection.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # usage is: validate_db_connection 2 50 psql 4 | 5 | SLEEP=$1 6 | TRIES=$2 7 | PSQL=$3 8 | 9 | STATE=1 10 | 11 | c=1 12 | 13 | while [ $c -le $TRIES ] 14 | do 15 | echo $c 16 | if [ $c -gt 1 ] 17 | then 18 | echo 'sleeping' 19 | sleep $SLEEP 20 | fi 21 | 22 | /bin/echo "SELECT 1" | $PSQL 23 | STATE=$? 24 | 25 | if [ $STATE -eq 0 ] 26 | then 27 | exit 0 28 | fi 29 | c=$((c+1)) 30 | done 31 | 32 | echo 'Unable to connect to postgresql' 33 | 34 | exit 1 35 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/lib/puppet/type/postgresql_replication_slot.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:postgresql_replication_slot) do 2 | @doc = "Manages Postgresql replication slots. 3 | 4 | This type allows to create and destroy replication slots 5 | to register warm standby replication on a Postgresql 6 | master server. 7 | " 8 | 9 | ensurable 10 | 11 | newparam(:name) do 12 | desc 'The name of the slot to create. Must be a valid replication slot name.' 13 | isnamevar 14 | newvalues %r{^[a-z0-9_]+$} 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/manifests/lib/docs.pp: -------------------------------------------------------------------------------- 1 | # This class installs the postgresql-docs See README.md for more 2 | # details. 3 | class postgresql::lib::docs ( 4 | String $package_name = $postgresql::params::docs_package_name, 5 | String[1] $package_ensure = 'present', 6 | ) inherits postgresql::params { 7 | 8 | package { 'postgresql-docs': 9 | ensure => $package_ensure, 10 | name => $package_name, 11 | tag => 'postgresql', 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/manifests/lib/java.pp: -------------------------------------------------------------------------------- 1 | # This class installs the postgresql jdbc connector. See README.md for more 2 | # details. 3 | class postgresql::lib::java ( 4 | String $package_name = $postgresql::params::java_package_name, 5 | String[1] $package_ensure = 'present' 6 | ) inherits postgresql::params { 7 | 8 | package { 'postgresql-jdbc': 9 | ensure => $package_ensure, 10 | name => $package_name, 11 | tag => 'postgresql', 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/manifests/lib/perl.pp: -------------------------------------------------------------------------------- 1 | # This class installs the perl libs for postgresql. See README.md for more 2 | # details. 3 | class postgresql::lib::perl( 4 | String $package_name = $postgresql::params::perl_package_name, 5 | String[1] $package_ensure = 'present' 6 | ) inherits postgresql::params { 7 | 8 | package { 'perl-DBD-Pg': 9 | ensure => $package_ensure, 10 | name => $package_name, 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/manifests/lib/python.pp: -------------------------------------------------------------------------------- 1 | # This class installs the python libs for postgresql. See README.md for more 2 | # details. 3 | class postgresql::lib::python( 4 | String[1] $package_name = $postgresql::params::python_package_name, 5 | String[1] $package_ensure = 'present' 6 | ) inherits postgresql::params { 7 | 8 | package { 'python-psycopg2': 9 | ensure => $package_ensure, 10 | name => $package_name, 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/manifests/server/reload.pp: -------------------------------------------------------------------------------- 1 | # PRIVATE CLASS: do not use directly 2 | class postgresql::server::reload { 3 | $service_name = $postgresql::server::service_name 4 | $service_status = $postgresql::server::service_status 5 | $service_reload = $postgresql::server::service_reload 6 | 7 | exec { 'postgresql_reload': 8 | path => '/usr/bin:/usr/sbin:/bin:/sbin', 9 | command => $service_reload, 10 | onlyif => $service_status, 11 | refreshonly => true, 12 | require => Class['postgresql::server::service'], 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: el-7-x86_64 7 | hypervisor: vagrant 8 | box: puppetlabs/centos-7.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/acceptance/nodesets/debian-8-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: debian-8-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/debian-8.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/acceptance/nodesets/default.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: ubuntu-14.04-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/ubuntu-14.04-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/acceptance/nodesets/docker/centos-7.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | platform: el-7-x86_64 4 | hypervisor: docker 5 | image: centos:7 6 | docker_preserve_image: true 7 | docker_cmd: '["/usr/sbin/init"]' 8 | # install various tools required to get the image up to usable levels 9 | docker_image_commands: 10 | - 'yum install -y crontabs tar wget openssl sysvinit-tools iproute which initscripts' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/acceptance/nodesets/docker/debian-8.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | platform: debian-8-amd64 4 | hypervisor: docker 5 | image: debian:8 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | - 'apt-get update && apt-get install -y net-tools wget locales strace lsof && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen' 10 | CONFIG: 11 | trace_limit: 200 12 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/acceptance/nodesets/docker/ubuntu-14.04.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | platform: ubuntu-14.04-amd64 4 | hypervisor: docker 5 | image: ubuntu:14.04 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | # ensure that upstart is booting correctly in the container 10 | - 'rm /usr/sbin/policy-rc.d && rm /sbin/initctl && dpkg-divert --rename --remove /sbin/initctl && apt-get update && apt-get install -y net-tools wget && locale-gen en_US.UTF-8' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/spec_helper_local.rb: -------------------------------------------------------------------------------- 1 | RSpec.configure do |c| 2 | c.mock_with :rspec 3 | 4 | c.include PuppetlabsSpec::Files 5 | c.after :each do 6 | PuppetlabsSpec::Files.cleanup 7 | end 8 | end 9 | 10 | # Convenience helper for returning parameters for a type from the 11 | # catalogue. 12 | def param(type, title, param) 13 | param_value(catalogue, type, title, param) 14 | end 15 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/unit/classes/params_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'postgresql::params', type: :class do 4 | let :facts do 5 | { 6 | osfamily: 'Debian', 7 | operatingsystem: 'Debian', 8 | operatingsystemrelease: '6.0', 9 | } 10 | end 11 | 12 | it { is_expected.to contain_class('postgresql::params') } 13 | end 14 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/unit/functions/postgresql_password_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'postgresql_password', type: :puppet_function do 4 | it { 5 | is_expected.to run.with_params('foo', 'bar') 6 | .and_return('md596948aad3fcae80c08a35c9b5958cd89') 7 | } 8 | it { 9 | is_expected.to run.with_params('foo', 1234) 10 | .and_return('md539a0e1b308278a8de5e007cd1f795920') 11 | } 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/spec/unit/puppet/type/postgresql_replication_slot_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Puppet::Type.type(:postgresql_replication_slot) do 4 | subject do 5 | Puppet::Type.type(:postgresql_psql).new(name: 'standby') 6 | end 7 | 8 | it 'has a name parameter' do 9 | expect(subject[:name]).to eq 'standby' # rubocop:disable RSpec/NamedSubject 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/templates/pg_hba_rule.conf: -------------------------------------------------------------------------------- 1 | 2 | # Rule Name: <%=@name%> 3 | # Description: <%=@description%> 4 | # Order: <%=@order%> 5 | <%=@type%> <%=@database%> <%=@user%> <%=@address%> <%=@auth_method%> <%=@auth_option%> 6 | -------------------------------------------------------------------------------- /contrib-modules/postgresql/templates/pg_ident_rule.conf: -------------------------------------------------------------------------------- 1 | 2 | # Rule Name: <%=@name%> 3 | # Description: <%=@description%> 4 | # Order: <%=@order%> 5 | <%=@map_name%> <%=@system_username%> <%=@database_username%> 6 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/manifests/modload.pp: -------------------------------------------------------------------------------- 1 | # == Class: rsyslog::modload 2 | # 3 | 4 | class rsyslog::modload ( 5 | $modload_filename = '10-modload', 6 | ) { 7 | rsyslog::snippet { $modload_filename: 8 | ensure => present, 9 | content => template('rsyslog/modload.erb'), 10 | require => Class['rsyslog::install'], 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/manifests/service.pp: -------------------------------------------------------------------------------- 1 | # == Class: rsyslog::service 2 | # 3 | # This class enforces running of the rsyslog service. 4 | # 5 | # === Parameters 6 | # 7 | # === Variables 8 | # 9 | # === Examples 10 | # 11 | # class { 'rsyslog::service': } 12 | # 13 | class rsyslog::service { 14 | service { $rsyslog::service_name: 15 | ensure => running, 16 | enable => true, 17 | hasstatus => $rsyslog::service_hasstatus, 18 | hasrestart => $rsyslog::service_hasrestart, 19 | require => Class['rsyslog::config'], 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/spec/spec.opts: -------------------------------------------------------------------------------- 1 | --format 2 | s 3 | --colour 4 | --loadby 5 | mtime 6 | --backtrace 7 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/templates/database.conf.erb: -------------------------------------------------------------------------------- 1 | # File is managed by Puppet 2 | 3 | ## Configuration file for rsyslog-<%= @backend %> 4 | 5 | $ModLoad om<%= @db_module %> 6 | *.* :om<%= @db_module -%>:<%= @server -%>,<%= @database -%>,<%= @username -%>,<%= @password %> 7 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/templates/modload.erb: -------------------------------------------------------------------------------- 1 | <% scope.lookupvar('rsyslog::extra_modules').each do |mod| -%> 2 | $ModLoad <%= mod %> 3 | <% end -%> 4 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/templates/rsyslog_default.erb: -------------------------------------------------------------------------------- 1 | # File is managed by puppet 2 | 3 | <% if @rsyslog_version and @rsyslog_version.split('.')[0].to_i < 7 -%> 4 | # Debian, Ubuntu 5 | RSYSLOGD_OPTIONS="-c4" 6 | <% else -%> 7 | RSYSLOGD_OPTIONS="" 8 | <% end -%> 9 | <% if @osfamily.casecmp('redhat') == 0 -%> 10 | # CentOS, RedHat, Fedora 11 | SYSLOGD_OPTIONS="${RSYSLOGD_OPTIONS}" 12 | <% end -%> 13 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/templates/rsyslog_default_rhel7.erb: -------------------------------------------------------------------------------- 1 | # File is managed by puppet 2 | SYSLOGD_OPTIONS="" 3 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/tests/database.pp: -------------------------------------------------------------------------------- 1 | include ::rsyslog 2 | 3 | class { '::rsyslog::database': 4 | backend => 'mysql', 5 | server => 'localhost', 6 | database => 'Syslog', 7 | username => 'rsyslog', 8 | password => 'secret', 9 | } 10 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/tests/init.pp: -------------------------------------------------------------------------------- 1 | include ::rsyslog 2 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/tests/log_templates.pp: -------------------------------------------------------------------------------- 1 | class { '::rsyslog::client': 2 | log_templates => [ 3 | { 4 | name => 'RFC3164fmt', 5 | template => '<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg%', 6 | }, 7 | ], 8 | actionfiletemplate => 'RFC3164fmt', 9 | } 10 | -------------------------------------------------------------------------------- /contrib-modules/rsyslog/tests/multiple_hosts.pp: -------------------------------------------------------------------------------- 1 | class { '::rsyslog::client': 2 | remote_servers => [ 3 | { 4 | host => 'logs.example.org', 5 | }, 6 | { 7 | port => '55514', 8 | }, 9 | { 10 | host => 'logs.somewhere.com', 11 | port => '555', 12 | pattern => '*.log', 13 | protocol => 'tcp', 14 | format => 'RFC3164fmt', 15 | }, 16 | ], 17 | } 18 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | ## Maintenance 2 | 3 | Maintainers: 4 | - Puppet Forge Modules Team `forge-modules |at| puppet |dot| com` 5 | 6 | Tickets: https://tickets.puppet.com/browse/MODULES. Make sure to set component to `stdlib`. 7 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/README_SPECS.markdown: -------------------------------------------------------------------------------- 1 | NOTE 2 | ==== 3 | 4 | This project's specs depend on puppet core, and thus they require the 5 | `puppetlabs_spec_helper` project. For more information please see the README 6 | in that project, which can be found here: [puppetlabs spec 7 | helper](https://github.com/puppetlabs/puppetlabs_spec_helper) 8 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/rake_tasks' 2 | require 'puppet-syntax/tasks/puppet-syntax' 3 | require 'puppet_blacksmith/rake_tasks' 4 | require 'puppet-lint/tasks/puppet-lint' 5 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/examples/file_line.pp: -------------------------------------------------------------------------------- 1 | # This is a simple smoke test 2 | # of the file_line resource type. 3 | file { '/tmp/dansfile': 4 | ensure => file, 5 | } 6 | -> file_line { 'dans_line': 7 | line => 'dan is awesome', 8 | path => '/tmp/dansfile', 9 | } 10 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/examples/has_ip_address.pp: -------------------------------------------------------------------------------- 1 | include ::stdlib 2 | info('has_ip_address(\'192.168.1.256\'):', has_ip_address('192.168.1.256')) 3 | info('has_ip_address(\'127.0.0.1\'):', has_ip_address('127.0.0.1')) 4 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/examples/has_ip_network.pp: -------------------------------------------------------------------------------- 1 | include ::stdlib 2 | info('has_ip_network(\'127.0.0.0\'):', has_ip_network('127.0.0.0')) 3 | info('has_ip_network(\'128.0.0.0\'):', has_ip_network('128.0.0.0')) 4 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/examples/init.pp: -------------------------------------------------------------------------------- 1 | include ::stdlib 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/lib/facter/service_provider.rb: -------------------------------------------------------------------------------- 1 | # Fact: service_provider 2 | # 3 | # Purpose: Returns the default provider Puppet will choose to manage services 4 | # on this system 5 | # 6 | # Resolution: Instantiates a dummy service resource and return the provider 7 | # 8 | # Caveats: 9 | # 10 | require 'puppet/type' 11 | require 'puppet/type/service' 12 | 13 | Facter.add(:service_provider) do 14 | setcode do 15 | Puppet::Type.type(:service).newservice(:name => 'dummy')[:provider].to_s 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/lib/puppet/functions/to_json.rb: -------------------------------------------------------------------------------- 1 | # Take a data structure and output it as JSON 2 | # 3 | # @example how to output JSON 4 | # # output json to a file 5 | # file { '/tmp/my.json': 6 | # ensure => file, 7 | # content => to_json($myhash), 8 | # } 9 | # 10 | # 11 | require 'json' 12 | 13 | Puppet::Functions.create_function(:to_json) do 14 | dispatch :to_json do 15 | param 'Any', :data 16 | end 17 | 18 | def to_json(data) 19 | data.to_json 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/lib/puppet/functions/to_yaml.rb: -------------------------------------------------------------------------------- 1 | # Take a data structure and output it as YAML 2 | # 3 | # @example how to output YAML 4 | # # output yaml to a file 5 | # file { '/tmp/my.yaml': 6 | # ensure => file, 7 | # content => to_yaml($myhash), 8 | # } 9 | # 10 | # 11 | require 'yaml' 12 | 13 | Puppet::Functions.create_function(:to_yaml) do 14 | dispatch :to_yaml do 15 | param 'Any', :data 16 | end 17 | 18 | def to_yaml(data) 19 | data.to_yaml 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/lib/puppet/parser/functions/dos2unix.rb: -------------------------------------------------------------------------------- 1 | # Custom Puppet function to convert dos to unix format 2 | module Puppet::Parser::Functions 3 | newfunction(:dos2unix, :type => :rvalue, :arity => 1, :doc => <<-DOC 4 | Returns the Unix version of the given string. 5 | Takes a single string argument. 6 | DOC 7 | ) do |arguments| 8 | 9 | unless arguments[0].is_a?(String) 10 | raise(Puppet::ParseError, 'dos2unix(): Requires string as argument') 11 | end 12 | 13 | arguments[0].gsub(%r{\r\n}, "\n") 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/lib/puppet/parser/functions/is_hash.rb: -------------------------------------------------------------------------------- 1 | # 2 | # is_hash.rb 3 | # 4 | module Puppet::Parser::Functions 5 | newfunction(:is_hash, :type => :rvalue, :doc => <<-DOC 6 | Returns true if the variable passed to this function is a hash. 7 | DOC 8 | ) do |arguments| 9 | 10 | raise(Puppet::ParseError, "is_hash(): Wrong number of arguments given (#{arguments.size} for 1)") if arguments.size != 1 11 | 12 | type = arguments[0] 13 | 14 | result = type.is_a?(Hash) 15 | 16 | return result 17 | end 18 | end 19 | 20 | # vim: set ts=2 sw=2 et : 21 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/lib/puppet/parser/functions/unix2dos.rb: -------------------------------------------------------------------------------- 1 | # Custom Puppet function to convert unix to dos format 2 | module Puppet::Parser::Functions 3 | newfunction(:unix2dos, :type => :rvalue, :arity => 1, :doc => <<-DOC 4 | Returns the DOS version of the given string. 5 | Takes a single string argument. 6 | DOC 7 | ) do |arguments| 8 | 9 | unless arguments[0].is_a?(String) 10 | raise(Puppet::ParseError, 'unix2dos(): Requires string as argument') 11 | end 12 | 13 | arguments[0].gsub(%r{\r*\n}, "\r\n") 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/manifests/init.pp: -------------------------------------------------------------------------------- 1 | # Class: stdlib 2 | # 3 | # This module manages stdlib. Most of stdlib's features are automatically 4 | # loaded by Puppet, but this class should be declared in order to use the 5 | # standardized run stages. 6 | # 7 | # Parameters: none 8 | # 9 | # Actions: 10 | # 11 | # Declares all other classes in the stdlib module. Currently, this consists 12 | # of stdlib::stages. 13 | # 14 | # Requires: nothing 15 | # 16 | class stdlib { 17 | include ::stdlib::stages 18 | } 19 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/base64_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'base64 function' do 4 | describe 'success' do 5 | pp = <<-DOC 6 | $encodestring = base64('encode', 'thestring') 7 | $decodestring = base64('decode', $encodestring) 8 | notify { $decodestring: } 9 | DOC 10 | it 'encodes then decode a string' do 11 | apply_manifest(pp, :catch_failures => true) do |r| 12 | expect(r.stdout).to match(%r{thestring}) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/chomp_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'chomp function' do 4 | describe 'success' do 5 | pp = <<-DOC 6 | $input = "test\n" 7 | if size($input) != 5 { 8 | fail("Size of ${input} is not 5.") 9 | } 10 | $output = chomp($input) 11 | if size($output) != 4 { 12 | fail("Size of ${input} is not 4.") 13 | } 14 | DOC 15 | it 'eats the newline' do 16 | apply_manifest(pp, :catch_failures => true) 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/delete_at_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'delete_at function' do 4 | describe 'success' do 5 | pp = <<-DOC 6 | $output = delete_at(['a','b','c','b'], 1) 7 | if $output == ['a','c','b'] { 8 | notify { 'output correct': } 9 | } 10 | DOC 11 | it 'deletes elements of the array' do 12 | apply_manifest(pp, :catch_failures => true) do |r| 13 | expect(r.stdout).to match(%r{Notice: output correct}) 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/delete_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'delete function' do 4 | pp = <<-DOC 5 | $output = delete(['a','b','c','b'], 'b') 6 | if $output == ['a','c'] { 7 | notify { 'output correct': } 8 | } 9 | DOC 10 | describe 'success' do 11 | it 'deletes elements of the array' do 12 | apply_manifest(pp, :catch_failures => true) do |r| 13 | expect(r.stdout).to match(%r{Notice: output correct}) 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/max_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'max function' do 4 | describe 'success' do 5 | pp = <<-DOC 6 | $o = max("the","public","art","galleries") 7 | notice(inline_template('max is <%= @o.inspect %>')) 8 | DOC 9 | it 'maxs arrays' do 10 | apply_manifest(pp, :catch_failures => true) do |r| 11 | expect(r.stdout).to match(%r{max is "the"}) 12 | end 13 | end 14 | end 15 | describe 'failure' do 16 | it 'handles no arguments' 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/min_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'min function' do 4 | describe 'success' do 5 | pp = <<-DOC 6 | $o = min("the","public","art","galleries") 7 | notice(inline_template('min is <%= @o.inspect %>')) 8 | DOC 9 | it 'mins arrays' do 10 | apply_manifest(pp, :catch_failures => true) do |r| 11 | expect(r.stdout).to match(%r{min is "art"}) 12 | end 13 | end 14 | end 15 | describe 'failure' do 16 | it 'handles no arguments' 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: el-7-x86_64 7 | hypervisor: vagrant 8 | box: puppetlabs/centos-7.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/nodesets/debian-8-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: debian-8-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/debian-8.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/nodesets/default.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: ubuntu-14.04-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/ubuntu-14.04-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/nodesets/docker/centos-7.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | platform: el-7-x86_64 4 | hypervisor: docker 5 | image: centos:7 6 | docker_preserve_image: true 7 | docker_cmd: '["/usr/sbin/init"]' 8 | # install various tools required to get the image up to usable levels 9 | docker_image_commands: 10 | - 'yum install -y crontabs tar wget openssl sysvinit-tools iproute which initscripts' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/nodesets/docker/debian-8.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | platform: debian-8-amd64 4 | hypervisor: docker 5 | image: debian:8 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | - 'apt-get update && apt-get install -y net-tools wget locales strace lsof && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen' 10 | CONFIG: 11 | trace_limit: 200 12 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/acceptance/nodesets/docker/ubuntu-14.04.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | platform: ubuntu-14.04-amd64 4 | hypervisor: docker 5 | image: ubuntu:14.04 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | # ensure that upstart is booting correctly in the container 10 | - 'rm /usr/sbin/policy-rc.d && rm /sbin/initctl && dpkg-divert --rename --remove /sbin/initctl && apt-get update && apt-get install -y net-tools wget && locale-gen en_US.UTF-8' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/fixtures/dscacheutil/root: -------------------------------------------------------------------------------- 1 | name: root 2 | password: * 3 | uid: 0 4 | gid: 0 5 | dir: /var/root 6 | shell: /bin/bash 7 | gecos: rawr Root 8 | 9 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/fixtures/lsuser/root: -------------------------------------------------------------------------------- 1 | #name:home 2 | root:/root 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/fixtures/test/manifests/base32.pp: -------------------------------------------------------------------------------- 1 | # Class to test the Stdlib::Base32 type alias 2 | class test::base32 ( 3 | Stdlib::Base32 $value, 4 | ) { 5 | notice('Success') 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/fixtures/test/manifests/base64.pp: -------------------------------------------------------------------------------- 1 | # Class to test the Stdlib::Base64 type alias 2 | class test::base64 ( 3 | Stdlib::Base64 $value, 4 | ) { 5 | notice('Success') 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/fixtures/test/manifests/deftype.pp: -------------------------------------------------------------------------------- 1 | # Class to test deftype 2 | define test::deftype( $param = 'foo' ) { 3 | notify { "deftype: ${title}": } 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/fixtures/test/manifests/ensure_resources.pp: -------------------------------------------------------------------------------- 1 | # A helper class to test the ensure_resources function 2 | class test::ensure_resources( $resource_type, $title_hash, $attributes_hash ) { 3 | ensure_resources($resource_type, $title_hash, $attributes_hash) 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/functions/bool2num_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'bool2num' do 4 | it { is_expected.not_to eq(nil) } 5 | it { is_expected.to run.with_params.and_raise_error(Puppet::ParseError) } 6 | 7 | [true, 'true', AlsoString.new('true')].each do |truthy| 8 | it { is_expected.to run.with_params(truthy).and_return(1) } 9 | end 10 | 11 | [false, 'false', AlsoString.new('false')].each do |falsey| 12 | it { is_expected.to run.with_params(falsey).and_return(0) } 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/functions/dig_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'dig' do 4 | it 'exists' do 5 | expect(Puppet::Parser::Functions.function('dig')).to eq('function_dig') 6 | end 7 | 8 | it 'gives a deprecation warning when called' do 9 | scope.expects(:warning).with('dig() DEPRECATED: This function has been replaced in Puppet 4.5.0, please use dig44() for backwards compatibility or use the new version.') 10 | scope.function_dig([{}, []]) 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/functions/fqdn_uuid_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'fqdn_uuid' do 4 | context 'with invalid parameters' do 5 | it { is_expected.to run.with_params.and_raise_error(ArgumentError, %r{No arguments given$}) } 6 | end 7 | 8 | context 'with given string' do 9 | it { is_expected.to run.with_params('puppetlabs.com').and_return('9c70320f-6815-5fc5-ab0f-debe68bf764c') } 10 | it { is_expected.to run.with_params('google.com').and_return('64ee70a4-8cc1-5d25-abf2-dea6c79a09c8') } 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/functions/is_function_available_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'is_function_available' do 4 | it { is_expected.not_to eq(nil) } 5 | it { is_expected.to run.with_params.and_raise_error(Puppet::ParseError, %r{wrong number of arguments}i) } 6 | it { is_expected.to run.with_params('one', 'two').and_raise_error(Puppet::ParseError, %r{wrong number of arguments}i) } 7 | it { is_expected.to run.with_params('include').and_return(true) } 8 | it { is_expected.to run.with_params('no_such_function').and_return(false) } 9 | end 10 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/monkey_patches/alias_should_to_must.rb: -------------------------------------------------------------------------------- 1 | require 'rspec' 2 | 3 | class Object 4 | # This is necessary because the RAL has a 'should' 5 | # method. 6 | alias must should 7 | alias must_not should_not 8 | end 9 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/monkey_patches/publicize_methods.rb: -------------------------------------------------------------------------------- 1 | # Some monkey-patching to allow us to test private methods. 2 | class Class 3 | def publicize_methods(*methods) 4 | saved_private_instance_methods = methods.empty? ? private_instance_methods : methods 5 | 6 | class_eval { public(*saved_private_instance_methods) } 7 | yield 8 | class_eval { private(*saved_private_instance_methods) } 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/spec/unit/puppet/type/anchor_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | anchor = Puppet::Type.type(:anchor).new(:name => 'ntp::begin') 4 | 5 | describe anchor do 6 | it 'stringifies normally' do 7 | expect(anchor.to_s).to eq('Anchor[ntp::begin]') 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/absolutepath.pp: -------------------------------------------------------------------------------- 1 | # A strict absolutepath type 2 | type Stdlib::Absolutepath = Variant[Stdlib::Windowspath, Stdlib::Unixpath] 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/base32.pp: -------------------------------------------------------------------------------- 1 | # Type to match base32 String 2 | type Stdlib::Base32 = Pattern[/^[a-z2-7]+={,6}$/, /^[A-Z2-7]+={,6}$/] 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/base64.pp: -------------------------------------------------------------------------------- 1 | # Type to match base64 String 2 | type Stdlib::Base64 = Pattern[/^[a-zA-Z0-9\/\+]+={,2}$/] 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/compat/array.pp: -------------------------------------------------------------------------------- 1 | # Emulate the is_array and validate_array functions 2 | type Stdlib::Compat::Array = Array[Any] 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/compat/bool.pp: -------------------------------------------------------------------------------- 1 | # Emulate the is_bool and validate_bool functions 2 | type Stdlib::Compat::Bool = Boolean 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/compat/hash.pp: -------------------------------------------------------------------------------- 1 | # Emulate the is_hash and validate_hash functions 2 | type Stdlib::Compat::Hash = Hash[Any, Any] 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/compat/ip_address.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Compat::Ip_address = Variant[Stdlib::Compat::Ipv4, Stdlib::Compat::Ipv6] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/compat/ipv4.pp: -------------------------------------------------------------------------------- 1 | # Emulate the validate_ipv4_address and is_ipv4_address functions 2 | type Stdlib::Compat::Ipv4 = Pattern[/^((([0-9](?!\d)|[1-9][0-9](?!\d)|1[0-9]{2}(?!\d)|2[0-4][0-9](?!\d)|25[0-5](?!\d))[.]){3}([0-9](?!\d)|[1-9][0-9](?!\d)|1[0-9]{2}(?!\d)|2[0-4][0-9](?!\d)|25[0-5](?!\d)))(\/((([0-9](?!\d)|[1-9][0-9](?!\d)|1[0-9]{2}(?!\d)|2[0-4][0-9](?!\d)|25[0-5](?!\d))[.]){3}([0-9](?!\d)|[1-9][0-9](?!\d)|1[0-9]{2}(?!\d)|2[0-4][0-9](?!\d)|25[0-5](?!\d))|[0-9]+))?$/] # lint:ignore:140chars 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/compat/re.pp: -------------------------------------------------------------------------------- 1 | # Emulate the validate_re function 2 | # validate_re(value, re) translates to Pattern[re], which is not directly mappable as a type alias, but can be specified as Pattern[re]. 3 | # Therefore this needs to be translated directly. 4 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/compat/string.pp: -------------------------------------------------------------------------------- 1 | # Emulate the is_string and validate_string functions 2 | type Stdlib::Compat::String = Optional[String] 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ensure/service.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Ensure::Service = Enum['stopped', 'running'] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/filemode.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Filemode = Pattern[/^[0124]{1}[0-7]{3}$/] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/filesource.pp: -------------------------------------------------------------------------------- 1 | # Validate the source parameter on file types 2 | type Stdlib::Filesource = Variant[ 3 | Stdlib::Absolutepath, 4 | Stdlib::HTTPUrl, 5 | Pattern[ 6 | /^file:\/\/\/([^\/\0]+(\/)?)+$/, 7 | /^puppet:\/\/(([\w-]+\.?)+)?\/modules\/([^\/\0]+(\/)?)+$/, 8 | ], 9 | ] 10 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/fqdn.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Fqdn = Pattern[/^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/host.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Host = Variant[Stdlib::Fqdn, Stdlib::Compat::Ip_address] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/httpsurl.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::HTTPSUrl = Pattern[/^https:\/\//] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/httpurl.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::HTTPUrl = Pattern[/^https?:\/\//] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address = Variant[ 2 | Stdlib::IP::Address::V4, 3 | Stdlib::IP::Address::V6, 4 | ] 5 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address/nosubnet.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address::Nosubnet = Variant[ 2 | Stdlib::IP::Address::V4::Nosubnet, 3 | Stdlib::IP::Address::V6::Nosubnet, 4 | ] 5 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address/v4.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address::V4 = Variant[ 2 | Stdlib::IP::Address::V4::CIDR, 3 | Stdlib::IP::Address::V4::Nosubnet, 4 | ] 5 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address/v4/cidr.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address::V4::CIDR = Pattern[/\A([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}\/([1-9]|[12][0-9]|3[0-2])?\z/] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address/v4/nosubnet.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address::V4::Nosubnet = Pattern[/\A([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}\z/] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address/v6.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address::V6 = Variant[ 2 | Stdlib::IP::Address::V6::Full, 3 | Stdlib::IP::Address::V6::Compressed, 4 | Stdlib::IP::Address::V6::Alternative, 5 | Stdlib::IP::Address::V6::Nosubnet, 6 | ] 7 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address/v6/full.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address::V6::Full = Pattern[/\A[[:xdigit:]]{1,4}(:[[:xdigit:]]{1,4}){7}(\/(1([01][0-9]|[2][0-8])|[1-9][0-9]|[1-9]))?\z/] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address/v6/nosubnet.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address::V6::Nosubnet = Variant[ 2 | Stdlib::IP::Address::V6::Nosubnet::Full, 3 | Stdlib::IP::Address::V6::Nosubnet::Compressed, 4 | Stdlib::IP::Address::V6::Nosubnet::Alternative, 5 | ] 6 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip/address/v6/nosubnet/full.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::IP::Address::V6::Nosubnet::Full = Pattern[/\A[[:xdigit:]]{1,4}(:[[:xdigit:]]{1,4}){7}\z/] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ip_address.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Ip_address = Variant[Stdlib::Ipv4, Stdlib::Ipv6] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/ipv4.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Ipv4 = Stdlib::Compat::Ipv4 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/mac.pp: -------------------------------------------------------------------------------- 1 | # A type for a MAC address 2 | type Stdlib::MAC = Pattern[/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/] 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/port.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Port = Integer[0, 65535] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/port/privileged.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Port::Privileged = Integer[1, 1023] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/port/unprivileged.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Port::Unprivileged = Integer[1024, 65535] 2 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/unixpath.pp: -------------------------------------------------------------------------------- 1 | # this regex rejects any path component that does not start with "/" or is NUL 2 | type Stdlib::Unixpath = Pattern[/^\/([^\/\0]+\/*)*$/] 3 | -------------------------------------------------------------------------------- /contrib-modules/stdlib/types/windowspath.pp: -------------------------------------------------------------------------------- 1 | type Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/] 2 | -------------------------------------------------------------------------------- /contrib-modules/tea/examples/init.pp: -------------------------------------------------------------------------------- 1 | # lint:ignore:autoloader_layout 2 | class tea { 3 | # lint:endignore 4 | class { '::tea::ports': 5 | any_port => 5001, 6 | unp_port => 5002, 7 | priv_port => 1001, 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /contrib-modules/tea/examples/ports.pp: -------------------------------------------------------------------------------- 1 | # lint:ignore:autoloader_layout 2 | class tea::ports ( 3 | # lint:endignore 4 | Tea::Port $any_port = 5000, 5 | Tea::UnprivilegedPort $unp_port = 7000, 6 | Tea::PrivilegedPort $priv_port = 1000, 7 | ) { 8 | notify { 'any_port': message => "this port can be anything: ${any_port}" } 9 | notify { 'unp_port': message => "this port needs to be above 1024: ${unp_port}" } 10 | notify { 'priv_port': message => "this port needs to be below 1024: ${priv_port}" } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/archlinux-2-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | archlinux-2-x64: 7 | roles: 8 | - master 9 | platform: archlinux-2-x64 10 | box: archlinux/archlinux 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/centos-511-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-511-x64: 7 | roles: 8 | - master 9 | platform: el-5-x86_64 10 | box: puppetlabs/centos-5.11-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/centos-6-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-6-x64: 7 | roles: 8 | - master 9 | platform: el-6-x86_64 10 | box: centos/6 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/centos-66-x64-pe.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-66-x64: 7 | roles: 8 | - master 9 | - database 10 | - dashboard 11 | platform: el-6-x86_64 12 | box: puppetlabs/centos-6.6-64-puppet-enterprise 13 | hypervisor: vagrant 14 | CONFIG: 15 | type: pe 16 | ... 17 | # vim: syntax=yaml 18 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/centos-66-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-66-x64: 7 | roles: 8 | - master 9 | platform: el-6-x86_64 10 | box: puppetlabs/centos-6.6-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-7-x64: 7 | roles: 8 | - master 9 | platform: el-7-x86_64 10 | box: centos/7 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/centos-72-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-72-x64: 7 | roles: 8 | - master 9 | platform: el-7-x86_64 10 | box: puppetlabs/centos-7.2-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/debian-78-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | debian-78-x64: 7 | roles: 8 | - master 9 | platform: debian-7-amd64 10 | box: puppetlabs/debian-7.8-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/debian-82-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | debian-82-x64: 7 | roles: 8 | - master 9 | platform: debian-8-amd64 10 | box: puppetlabs/debian-8.2-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/fedora-24-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | fedora-24-x64: 7 | roles: 8 | - master 9 | platform: fedora-24-x86_64 10 | box: fedora/24-cloud-base 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/fedora-25-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | # platform is fedora 24 because there is no 7 | # puppet-agent for fedora 25 by 2016-12-30 8 | HOSTS: 9 | fedora-25-x64: 10 | roles: 11 | - master 12 | platform: fedora-25-x86_64 13 | box: fedora/25-cloud-base 14 | hypervisor: vagrant 15 | CONFIG: 16 | type: aio 17 | ... 18 | # vim: syntax=yaml 19 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/ubuntu-server-1204-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1204-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-12.04-amd64 10 | box: puppetlabs/ubuntu-12.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1404-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-14.04-amd64 10 | box: puppetlabs/ubuntu-14.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/acceptance/nodesets/ubuntu-server-1604-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1604-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-16.04-amd64 10 | box: puppetlabs/ubuntu-16.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/classes/coverage_spec.rb: -------------------------------------------------------------------------------- 1 | require 'rspec-puppet' 2 | 3 | at_exit { RSpec::Puppet::Coverage.report! } 4 | # vim: syntax=ruby 5 | -------------------------------------------------------------------------------- /contrib-modules/tea/spec/default_facts.yml: -------------------------------------------------------------------------------- 1 | # This file is managed via modulesync 2 | # https://github.com/voxpupuli/modulesync 3 | # https://github.com/voxpupuli/modulesync_config 4 | # 5 | # use default_module_facts.yaml for module specific 6 | # facts. 7 | # 8 | # Hint if using with rspec-puppet-facts ("on_supported_os.each"): 9 | # if a same named fact exists in facterdb it will be overridden. 10 | --- 11 | concat_basedir: "/tmp" 12 | ipaddress: "172.16.254.254" 13 | is_pe: false 14 | macaddress: "AA:AA:AA:AA:AA:AA" 15 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/absolutepath.pp: -------------------------------------------------------------------------------- 1 | # A strict absolutepath type 2 | type Tea::Absolutepath = Variant[::Tea::Windowspath, ::Tea::Unixpath] 3 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/awsregion.pp: -------------------------------------------------------------------------------- 1 | type Tea::AWSRegion = Enum[ 'us-east-1', 'us-east-2', 2 | 'us-west-1', 'us-west-2', 3 | 'ap-south-1', 4 | 'ap-northeast-1', 'ap-northeast-2', 5 | 'ap-southeast-1', 'ap-southeast-2', 6 | 'eu-central-1', 7 | 'eu-west-1', 8 | 'sa-east-1', 9 | 'us-gov-west-1' 10 | ] 11 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/httpsurl.pp: -------------------------------------------------------------------------------- 1 | type Tea::HTTPSUrl = Pattern[/^https:\/\//] 2 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/httpurl.pp: -------------------------------------------------------------------------------- 1 | type Tea::HTTPUrl = Pattern[/^https?:\/\//] 2 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/port.pp: -------------------------------------------------------------------------------- 1 | type Tea::Port = Integer[0, 65535] 2 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/privilegedport.pp: -------------------------------------------------------------------------------- 1 | type Tea::Privilegedport = Integer[1, 1023] 2 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/syslogfacility.pp: -------------------------------------------------------------------------------- 1 | type Tea::Syslogfacility = Enum[ 'auth', 'authpriv', 'cron', 'daemon', 'ftp', 'kern', 'lpr', 'mail', 'news', 'security', 'syslog', 2 | 'user', 'uucp', 'local0', 'local1', 'local2', 'local3', 'local4', 'local5', 'local6', 'local7'] 3 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/syslogpriority.pp: -------------------------------------------------------------------------------- 1 | type Tea::Syslogpriority = Enum['debug', 'info', 'notice', 'warning', 'err', 'crit', 'alert', 'emerg'] 2 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/unixpath.pp: -------------------------------------------------------------------------------- 1 | # this regex rejects any path component that is a / or a NUL 2 | type Tea::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/] 3 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/unprivilegedport.pp: -------------------------------------------------------------------------------- 1 | type Tea::Unprivilegedport = Integer[1024, 65535] 2 | -------------------------------------------------------------------------------- /contrib-modules/tea/types/windowspath.pp: -------------------------------------------------------------------------------- 1 | # Originally from stdlib's is_absolute_path, which had it from 2.7.x's lib/puppet/util.rb Puppet::Util.absolute_path? 2 | # slash = '[\\\\/]' 3 | # name = '[^\\\\/]+' 4 | # %r!^(([A-Z]:#{slash})|(#{slash}#{slash}#{name}#{slash}#{name})|(#{slash}#{slash}\?#{slash}#{name}))!i, 5 | type Tea::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/] 6 | -------------------------------------------------------------------------------- /contrib-modules/timezone/CHANGELOG: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 1.0.0 2015-07-16 4 | 5 | - Added support for Amazon Linux 6 | -------------------------------------------------------------------------------- /contrib-modules/timezone/spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | dir = File.expand_path(File.dirname(__FILE__)) 2 | $LOAD_PATH.unshift File.join(dir, 'lib') 3 | 4 | require 'mocha' 5 | require 'puppet' 6 | require 'rspec' 7 | require 'spec/autorun' 8 | 9 | Spec::Runner.configure do |config| 10 | config.mock_with :mocha 11 | end 12 | 13 | # We need this because the RAL uses 'should' as a method. This 14 | # allows us the same behaviour but with a different method name. 15 | class Object 16 | alias :must :should 17 | end 18 | -------------------------------------------------------------------------------- /contrib-modules/timezone/templates/debian.erb: -------------------------------------------------------------------------------- 1 | <%= @region %>/<%= @locality %> 2 | -------------------------------------------------------------------------------- /contrib-modules/timezone/templates/el.erb: -------------------------------------------------------------------------------- 1 | ZONE="<%= @region %>/<%= @locality %>" 2 | UTC=<%= @hwutc %> 3 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | ## Maintenance 2 | 3 | Maintainers: 4 | - Puppet Forge Modules Team `forge-modules |at| puppet |dot| com` 5 | 6 | Tickets: https://tickets.puppet.com/browse/MODULES. Make sure to set component to `vcsrepo`. 7 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppetlabs_spec_helper/rake_tasks' 2 | require 'puppet-syntax/tasks/puppet-syntax' 3 | require 'puppet_blacksmith/rake_tasks' 4 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/bzr/branch.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-bzr-branch': 2 | ensure => present, 3 | provider => bzr, 4 | source => 'lp:do', 5 | revision => '1312', 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/bzr/init_repo.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-bzr-init': 2 | ensure => present, 3 | provider => bzr, 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/cvs/local.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-cvs-repo': 2 | ensure => present, 3 | provider => cvs, 4 | } 5 | 6 | vcsrepo { '/tmp/vcstest-cvs-workspace-local': 7 | ensure => present, 8 | provider => cvs, 9 | source => '/tmp/vcstest-cvs-repo', 10 | require => Vcsrepo['/tmp/vcstest-cvs-repo'], 11 | } 12 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/cvs/remote.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-cvs-workspace-remote': 2 | ensure => present, 3 | provider => cvs, 4 | source => ':pserver:anonymous@cvs.sv.gnu.org:/sources/leetcvrt', 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/git/bare_init.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-git-bare': 2 | ensure => bare, 3 | provider => git, 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/git/clone.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-git-clone': 2 | ensure => present, 3 | provider => git, 4 | source => 'git://github.com/bruce/rtex.git', 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/git/shallow-clone-with-just-one-commit.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/git': 2 | ensure => 'present', 3 | provider => 'git', 4 | source => 'https://github.com/git/git.git', 5 | branch => 'v2.2.0', 6 | depth => 1, 7 | } 8 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/git/working_copy_init.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-git-wc': 2 | ensure => present, 3 | provider => git, 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/hg/clone.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-hg-clone': 2 | ensure => present, 3 | provider => hg, 4 | source => 'http://hg.basho.com/riak', 5 | revision => 'riak-0.5.3', 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/hg/clone_basic_auth.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/path/to/repo': 2 | ensure => latest, 3 | provider => 'hg', 4 | source => 'http://hg.example.com/myrepo', 5 | basic_auth_username => 'hgusername', 6 | basic_auth_password => 'hgpassword', 7 | } 8 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/hg/init_repo.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-hg-init': 2 | ensure => present, 3 | provider => hg, 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/p4/create_client.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest/p4_client_root': 2 | ensure => present, 3 | provider => 'p4', 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/p4/delete_client.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest/p4_client_root': 2 | ensure => absent, 3 | provider => 'p4', 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/p4/latest_client.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest/p4_client_root': 2 | ensure => latest, 3 | provider => 'p4', 4 | source => '//depot/...', 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/p4/sync_client.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest/p4_client_root': 2 | ensure => present, 3 | provider => 'p4', 4 | source => '//depot/...', 5 | revision => '30', 6 | } 7 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/svn/checkout.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-svn-checkout': 2 | ensure => present, 3 | provider => svn, 4 | source => 'http://svn.edgewall.org/repos/babel/trunk', 5 | } 6 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/examples/svn/server.pp: -------------------------------------------------------------------------------- 1 | vcsrepo { '/tmp/vcstest-svn-server': 2 | ensure => present, 3 | provider => svn, 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/lib/facter/vcsrepo_svn_ver.rb: -------------------------------------------------------------------------------- 1 | Facter.add(:vcsrepo_svn_ver) do 2 | setcode do 3 | begin 4 | version = Facter::Core::Execution.execute('svn --version --quiet') 5 | if Gem::Version.new(version) > Gem::Version.new('0.0.1') 6 | version 7 | else 8 | '' 9 | end 10 | rescue StandardError 11 | '' 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: el-7-x86_64 7 | hypervisor: vagrant 8 | box: puppetlabs/centos-7.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/acceptance/nodesets/debian-8-x64.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: debian-8-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/debian-8.2-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/acceptance/nodesets/default.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | roles: 4 | - agent 5 | - default 6 | platform: ubuntu-14.04-amd64 7 | hypervisor: vagrant 8 | box: puppetlabs/ubuntu-14.04-64-nocm 9 | CONFIG: 10 | type: foss 11 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/acceptance/nodesets/docker/centos-7.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | centos-7-x64: 3 | platform: el-7-x86_64 4 | hypervisor: docker 5 | image: centos:7 6 | docker_preserve_image: true 7 | docker_cmd: '["/usr/sbin/init"]' 8 | # install various tools required to get the image up to usable levels 9 | docker_image_commands: 10 | - 'yum install -y crontabs tar wget openssl sysvinit-tools iproute which initscripts' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/acceptance/nodesets/docker/debian-8.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | debian-8-x64: 3 | platform: debian-8-amd64 4 | hypervisor: docker 5 | image: debian:8 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | - 'apt-get update && apt-get install -y net-tools wget locales strace lsof && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen' 10 | CONFIG: 11 | trace_limit: 200 12 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/acceptance/nodesets/docker/ubuntu-14.04.yml: -------------------------------------------------------------------------------- 1 | HOSTS: 2 | ubuntu-1404-x64: 3 | platform: ubuntu-14.04-amd64 4 | hypervisor: docker 5 | image: ubuntu:14.04 6 | docker_preserve_image: true 7 | docker_cmd: '["/sbin/init"]' 8 | docker_image_commands: 9 | # ensure that upstart is booting correctly in the container 10 | - 'rm /usr/sbin/policy-rc.d && rm /sbin/initctl && dpkg-divert --rename --remove /sbin/initctl && apt-get update && apt-get install -y net-tools wget && locale-gen en_US.UTF-8' 11 | CONFIG: 12 | trace_limit: 200 13 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/fixtures/bzr_version_info.txt: -------------------------------------------------------------------------------- 1 | revision-id: menesis@pov.lt-20100309191856-4wmfqzc803fj300x 2 | date: 2010-03-09 21:18:56 +0200 3 | build-date: 2010-03-14 00:42:43 -0800 4 | revno: 2634 5 | branch-nick: mytest 6 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/fixtures/git_branch_a.txt: -------------------------------------------------------------------------------- 1 | feature/foo 2 | feature/bar 3 | feature/baz 4 | feature/quux 5 | only/local 6 | * master 7 | refactor/foo 8 | origin/HEAD 9 | origin/feature/foo 10 | origin/feature/bar 11 | origin/feature/baz 12 | origin/feature/quux 13 | origin/only/remote 14 | origin/master 15 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/fixtures/git_branch_feature_bar.txt: -------------------------------------------------------------------------------- 1 | feature/foo 2 | * feature/bar 3 | feature/baz 4 | feature/quux 5 | only/local 6 | master 7 | refactor/foo 8 | origin/HEAD 9 | origin/feature/foo 10 | origin/feature/bar 11 | origin/feature/baz 12 | origin/feature/quux 13 | origin/only/remote 14 | origin/master 15 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/fixtures/git_branch_none.txt: -------------------------------------------------------------------------------- 1 | feature/foo 2 | feature/bar 3 | feature/baz 4 | feature/quux 5 | only/local 6 | master 7 | * (no branch) 8 | refactor/foo 9 | origin/HEAD 10 | origin/feature/foo 11 | origin/feature/bar 12 | origin/feature/baz 13 | origin/feature/quux 14 | origin/only/remote 15 | origin/master 16 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/fixtures/hg_parents.txt: -------------------------------------------------------------------------------- 1 | changeset: 3:34e6012c783a 2 | parent: 2:21ea4598c962 3 | parent: 1:9d0ff0028458 4 | user: Test User 5 | date: Fri Aug 07 13:13:02 2009 -0400 6 | summary: merge 7 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/fixtures/svn_info.txt: -------------------------------------------------------------------------------- 1 | Path: . 2 | URL: http://example.com/svn/trunk 3 | Repository Root: http://example.com/svn 4 | Repository UUID: 75246ace-e253-0410-96dd-a7613ca8dc81 5 | Revision: 4 6 | Node Kind: directory 7 | Schedule: normal 8 | Last Changed Author: jon 9 | Last Changed Rev: 3 10 | Last Changed Date: 2008-08-07 11:34:25 -0700 (Thu, 07 Aug 2008) 11 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/spec_helper_local.rb: -------------------------------------------------------------------------------- 1 | require 'support/filesystem_helpers' 2 | require 'support/fixture_helpers' 3 | 4 | RSpec.configure do |c| 5 | c.include FilesystemHelpers 6 | c.include FixtureHelpers 7 | end 8 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/support/fixture_helpers.rb: -------------------------------------------------------------------------------- 1 | module FixtureHelpers 2 | def fixture(name, ext = '.txt') 3 | File.read(File.join(File.dirname(__FILE__), '..', 'fixtures', name.to_s + ext)) 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /contrib-modules/vcsrepo/spec/unit/puppet/type/README.markdown: -------------------------------------------------------------------------------- 1 | Resource Type Specs 2 | =================== 3 | 4 | Define specs for your resource types in this directory. 5 | -------------------------------------------------------------------------------- /contrib-modules/yum/data/common.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | lookup_options: 3 | yum::config_options: 4 | merge: 'hash' 5 | yum::repos: 6 | merge: 7 | strategy: 'deep' 8 | knockout_prefix: '--' 9 | merge_hash_arrays: true 10 | yum::managed_repos: 11 | merge: 'unique' 12 | yum::os_default_repos: 13 | merge: 'unique' 14 | yum::repo_exclusions: 15 | merge: 'unique' 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/data/os/RedHat/CentOS/6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | yum::os_default_repos: 3 | - 'contrib' 4 | -------------------------------------------------------------------------------- /contrib-modules/yum/data/os/RedHat/CentOS/7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | yum::os_default_repos: 3 | - 'cr' 4 | -------------------------------------------------------------------------------- /contrib-modules/yum/examples/gpgkey.pp: -------------------------------------------------------------------------------- 1 | yum::gpgkey { '/etc/pki/rpm-gpg/RPM-GPG-KEY-puppet-smoketest1': 2 | ensure => absent, 3 | content => '-----BEGIN PGP PUBLIC KEY BLOCK-----...', 4 | } 5 | -------------------------------------------------------------------------------- /contrib-modules/yum/examples/group.pp: -------------------------------------------------------------------------------- 1 | yum::group { 'X Window System': 2 | ensure => present, 3 | } 4 | -------------------------------------------------------------------------------- /contrib-modules/yum/examples/plugin.pp: -------------------------------------------------------------------------------- 1 | yum::plugin { 'versionlock': 2 | ensure => present, 3 | } 4 | -------------------------------------------------------------------------------- /contrib-modules/yum/examples/versionlock.pp: -------------------------------------------------------------------------------- 1 | yum::versionlock { '0:bash-4.1.2-9.el6_2.*': 2 | ensure => present, 3 | } 4 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/class_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'yum class' do 4 | context 'default parameters' do 5 | # Using puppet_apply as a helper 6 | it 'must work idempotently with no errors' do 7 | pp = <<-EOS 8 | class { 'yum': } 9 | EOS 10 | 11 | # Run it twice and test for idempotency 12 | apply_manifest(pp, catch_failures: true) 13 | apply_manifest(pp, catch_changes: true) 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/archlinux-2-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | archlinux-2-x64: 7 | roles: 8 | - master 9 | platform: archlinux-2-x64 10 | box: archlinux/archlinux 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/centos-511-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-511-x64: 7 | roles: 8 | - master 9 | platform: el-5-x86_64 10 | box: puppetlabs/centos-5.11-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/centos-6-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-6-x64: 7 | roles: 8 | - master 9 | platform: el-6-x86_64 10 | box: centos/6 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/centos-66-x64-pe.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-66-x64: 7 | roles: 8 | - master 9 | - database 10 | - dashboard 11 | platform: el-6-x86_64 12 | box: puppetlabs/centos-6.6-64-puppet-enterprise 13 | hypervisor: vagrant 14 | CONFIG: 15 | type: pe 16 | ... 17 | # vim: syntax=yaml 18 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/centos-66-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-66-x64: 7 | roles: 8 | - master 9 | platform: el-6-x86_64 10 | box: puppetlabs/centos-6.6-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/centos-7-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-7-x64: 7 | roles: 8 | - master 9 | platform: el-7-x86_64 10 | box: centos/7 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/centos-72-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | centos-72-x64: 7 | roles: 8 | - master 9 | platform: el-7-x86_64 10 | box: puppetlabs/centos-7.2-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/debian-78-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | debian-78-x64: 7 | roles: 8 | - master 9 | platform: debian-7-amd64 10 | box: puppetlabs/debian-7.8-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/debian-82-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | debian-82-x64: 7 | roles: 8 | - master 9 | platform: debian-8-amd64 10 | box: puppetlabs/debian-8.2-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/fedora-24-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | fedora-24-x64: 7 | roles: 8 | - master 9 | platform: fedora-24-x86_64 10 | box: fedora/24-cloud-base 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: aio 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/fedora-25-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | HOSTS: 7 | fedora-25-x64: 8 | roles: 9 | - master 10 | platform: fedora-25-x86_64 11 | box: fedora/25-cloud-base 12 | hypervisor: vagrant 13 | CONFIG: 14 | type: aio 15 | ... 16 | # vim: syntax=yaml 17 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/fedora-26-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | HOSTS: 7 | fedora-26-x64: 8 | roles: 9 | - master 10 | platform: fedora-26-x86_64 11 | box: fedora/26-cloud-base 12 | hypervisor: vagrant 13 | CONFIG: 14 | type: aio 15 | ... 16 | # vim: syntax=yaml 17 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/fedora-27-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | # 6 | # platform is fedora 26 because there is no puppet-agent 7 | # for fedora 27 as of 2017-11-17 8 | HOSTS: 9 | fedora-27-x64: 10 | roles: 11 | - master 12 | platform: fedora-26-x86_64 13 | box: fedora/27-cloud-base 14 | hypervisor: vagrant 15 | CONFIG: 16 | type: aio 17 | ... 18 | # vim: syntax=yaml 19 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/ubuntu-server-1204-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1204-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-12.04-amd64 10 | box: puppetlabs/ubuntu-12.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1404-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-14.04-amd64 10 | box: puppetlabs/ubuntu-14.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/acceptance/nodesets/ubuntu-server-1604-x64.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This file is managed via modulesync 3 | # https://github.com/voxpupuli/modulesync 4 | # https://github.com/voxpupuli/modulesync_config 5 | HOSTS: 6 | ubuntu-server-1604-x64: 7 | roles: 8 | - master 9 | platform: ubuntu-16.04-amd64 10 | box: puppetlabs/ubuntu-16.04-64-nocm 11 | hypervisor: vagrant 12 | CONFIG: 13 | type: foss 14 | ... 15 | # vim: syntax=yaml 16 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/classes/coverage_spec.rb: -------------------------------------------------------------------------------- 1 | require 'rspec-puppet' 2 | 3 | at_exit { RSpec::Puppet::Coverage.report! } 4 | # vim: syntax=ruby 5 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/default_facts.yml: -------------------------------------------------------------------------------- 1 | # This file is managed via modulesync 2 | # https://github.com/voxpupuli/modulesync 3 | # https://github.com/voxpupuli/modulesync_config 4 | # 5 | # use default_module_facts.yaml for module specific 6 | # facts. 7 | # 8 | # Hint if using with rspec-puppet-facts ("on_supported_os.each"): 9 | # if a same named fact exists in facterdb it will be overridden. 10 | --- 11 | concat_basedir: "/tmp" 12 | ipaddress: "172.16.254.254" 13 | is_pe: false 14 | macaddress: "AA:AA:AA:AA:AA:AA" 15 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/fixtures/data/default.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/fixtures/data/repo_exclusions.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | yum::repo_exclusions: 3 | - 'base' 4 | -------------------------------------------------------------------------------- /contrib-modules/yum/spec/fixtures/hiera.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | :version: 3 3 | :backends: 4 | - yaml 5 | :yaml: 6 | :datadir: './spec/fixtures/data' 7 | :hierarchy: 8 | - "%{facts.hiera_fixture}" 9 | - 'default' 10 | -------------------------------------------------------------------------------- /dev_fallback/ssl/README.md: -------------------------------------------------------------------------------- 1 | openssl genrsa -out server.key 2048 2 | openssl req -new -x509 -key server.key -out server.crt -days 5095 3 | 4 | -------------------------------------------------------------------------------- /documentation/INSTALL_FINALIZING.md: -------------------------------------------------------------------------------- 1 | # Steps for finalizing an install 2 | # Final steps once server/VM is setup... 3 | 4 | # To Run - as root (start master, run puppet client, stop master) 5 | /etc/puppet/run.sh 6 | 7 | You may have to run this a couple of times to get everything set up 8 | correctly. The very first time it will take quite a while to run 9 | (it has a lot to do!) 10 | 11 | # Copy credentials (including http certificates for the live servers) 12 | Copy /home/metacpan/credentials directory from existing machine 13 | -------------------------------------------------------------------------------- /environments/example_env/README.environment: -------------------------------------------------------------------------------- 1 | This is an example environment directory. The environment's modules can be 2 | placed in a "modules" subdirectory. The environments initial manifests are 3 | placed in a "manifests" subdirectory. By default the environment also has any 4 | modules that are installed globally (normally in /etc/puppet/modules) for the 5 | puppet master. 6 | 7 | For more information see 8 | http://docs.puppetlabs.com/puppet/latest/reference/environments.html 9 | -------------------------------------------------------------------------------- /hiera.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | :backends: 3 | - yaml 4 | :merge_behavior: deeper 5 | :yaml: 6 | :datadir: /etc/puppet/hieradata 7 | :hierarchy: 8 | - "nodes/%{hostname}" 9 | - "datacenter/%{datacenter}" 10 | - "env/%{env}" 11 | - common 12 | -------------------------------------------------------------------------------- /hieradata/datacenter/bytemark-YO26-york.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | metacpan::elasticsearch::cluster_hosts: 3 | - 5.153.225.19 # bm-mc-01 4 | - 5.153.225.20 # bm-mc-02 5 | - 89.16.178.21 # bm-mc-04 6 | 7 | metacpan::postgres::access_hosts: 8 | - 5.153.225.19 # bm-mc-01 9 | - 5.153.225.20 # bm-mc-02 10 | - 89.16.178.21 # bm-mc-04 11 | 12 | # Run on our public IP address (firewall limits access 13 | # to other nodes in our cluster) 14 | metacpan::elasticsearch::ipaddress: "%{::default_ipaddress}" 15 | 16 | metacpan::rsyslog::client::log_remote: true 17 | -------------------------------------------------------------------------------- /hieradata/datacenter/development.pp: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /hieradata/datacenter/liquidweb.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | metacpan::elasticsearch::cluster_hosts: 3 | - 50.28.18.102 # lw-mc-01 4 | - 50.28.18.103 # lw-mc-02 5 | - 50.28.18.168 # lw-mc-03 6 | 7 | metacpan::postgres::access_hosts: 8 | - 50.28.18.102 # lw-mc-01 9 | - 50.28.18.103 # lw-mc-02 10 | - 50.28.18.168 # lw-mc-03 11 | 12 | # Run on our public IP address (firewall limits access 13 | # to other nodes in our cluster) 14 | metacpan::elasticsearch::ipaddress: "%{::default_ipaddress}" 15 | 16 | metacpan::logstash::status: 'enabled' 17 | 18 | metacpan::rsyslog::client::log_remote: true 19 | -------------------------------------------------------------------------------- /hieradata/env/dev.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | classes: 4 | - metacpan::role::developer 5 | - metacpan::system::mongodb 6 | - metacpan_postgres 7 | 8 | # Have to hard code `vagrant` or the dependency 9 | # tree doesn't work 10 | metacpan::tmp_dir: "/home/vagrant/tmp" 11 | 12 | metacpan::elasticsearch::cluster_name: 'dev' 13 | metacpan::elasticsearch::master_nodes: 1 14 | metacpan::elasticsearch::expected_nodes: 1 15 | metacpan::elasticsearch::recover_after_nodes: 1 16 | metacpan::elasticsearch::replicas: 0 17 | -------------------------------------------------------------------------------- /hieradata/nodes/bm-mc-01.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | classes: 3 | - metacpan_postgres::install_only 4 | - metacpan_postgres::pgpass 5 | - minion_queue 6 | 7 | minion_queue::service::workers: 4 8 | minion_queue::service::ensure: running 9 | minion_queue::service::enable: true 10 | 11 | # Enabled on 02 now 12 | metacpan::watcher::enable: false 13 | 14 | metacpan::crons::general: 15 | user_data_index_backups: 16 | ensure : absent 17 | import_authors: 18 | ensure : absent 19 | -------------------------------------------------------------------------------- /hieradata/nodes/bm-mc-04.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | classes: 3 | - metacpan_postgres::install_only 4 | - metacpan_postgres::pgpass 5 | - minion_queue 6 | 7 | minion_queue::service::workers: 5 8 | minion_queue::service::ensure: running 9 | minion_queue::service::enable: true 10 | 11 | -------------------------------------------------------------------------------- /hieradata/nodes/debian.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/metacpan/metacpan-puppet/2825f583315ab042d5d96ecbc71639e64c244efe/hieradata/nodes/debian.yaml -------------------------------------------------------------------------------- /hieradata/nodes/lw-mc-01.yaml: -------------------------------------------------------------------------------- 1 | 2 | # Make this the master 3 | classes: 4 | - munin::master 5 | - metacpan_munin 6 | - metacpan_postgres 7 | - metacpan_postgres::pgpass 8 | - minion_queue 9 | 10 | minion_queue::service::workers: 10 11 | minion_queue::service::ensure: running 12 | minion_queue::service::enable: true 13 | -------------------------------------------------------------------------------- /hieradata/nodes/lw-mc-02.yaml: -------------------------------------------------------------------------------- 1 | 2 | classes: 3 | - metacpan_postgres::install_only 4 | - metacpan_postgres::pgpass 5 | - minion_queue 6 | 7 | minion_queue::service::workers: 10 8 | minion_queue::service::ensure: running 9 | minion_queue::service::enable: true 10 | 11 | 12 | metacpan::web::proxy: 13 | 14 | metacpan-hound: 15 | vhost_ssl_only: true 16 | vhost_bare: true 17 | vhost_aliases: 18 | - 'hound.metacpan.org' 19 | proxy_port: 6080 20 | 21 | -------------------------------------------------------------------------------- /modules/carton/manifests/init.pp: -------------------------------------------------------------------------------- 1 | # Install Carton for project dependencies. 2 | class carton() { 3 | 4 | perl::module{ 'Carton': 5 | version => 'v1.0.22' 6 | } 7 | 8 | perl::module{ 'App::cpm': 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /modules/carton/templates/carton-exec.erb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec <%= @carton %> exec <%= @perlbin %>/perl -Ilib "$@" 4 | -------------------------------------------------------------------------------- /modules/carton/templates/carton.erb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd /home/<%= @user %>/<%= @name %>/ 4 | export PERL_CARTON_PATH=<%= @carton_service_dir %> 5 | exec <%= @perlbin %>/carton "$@" 6 | -------------------------------------------------------------------------------- /modules/exim/files/aliases: -------------------------------------------------------------------------------- 1 | # This file was created and transferred by puppet 2 | # Do not edit manually! 3 | # puppet:modules/exim/files/aliases 4 | mailer-daemon: postmaster 5 | postmaster: root 6 | nobody: root 7 | hostmaster: root 8 | usenet: root 9 | news: root 10 | webmaster: root 11 | www: root 12 | ftp: root 13 | abuse: root 14 | noc: root 15 | security: root 16 | monit: root 17 | munin: root 18 | root: web 19 | web: noc@metacpan.org 20 | 21 | # for the metacpan user 22 | metacpan: web 23 | 24 | # amavis 25 | virusalert: root 26 | -------------------------------------------------------------------------------- /modules/exim/manifests/directories.pp: -------------------------------------------------------------------------------- 1 | class exim::directories { 2 | 3 | file { '/etc/exim4': 4 | ensure => directory, 5 | owner => 'root', 6 | group => 'root', 7 | mode => '0755', 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /modules/facts/lib/facter/datacenter.rb: -------------------------------------------------------------------------------- 1 | Facter.add(:datacenter) do 2 | setcode do 3 | case Facter.value(:hostname) 4 | when /^bm-mc-/ 5 | 'bytemark-YO26-york' 6 | when /^lw-mc-/ 7 | 'liquidweb' 8 | when /^hc-mc-/ 9 | 'hivelocity' 10 | else 11 | 'development' 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /modules/facts/lib/facter/env.rb: -------------------------------------------------------------------------------- 1 | Facter.add(:env) do 2 | setcode do 3 | if Facter.value(:hostname) =~ /dev$/ 4 | 'dev' 5 | elsif Facter.value(:hostname) =~ /debian$/ 6 | 'dev' 7 | else 8 | 'production' 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /modules/facts/lib/facter/ipaddress.rb: -------------------------------------------------------------------------------- 1 | Facter.add("default_ipaddress") do 2 | setcode do 3 | if Facter.value('ipaddress_eth0') 4 | Facter.value('ipaddress_eth0') 5 | elsif Facter.value('ipaddress_bond0') 6 | Facter.value('ipaddress_bond0') 7 | elsif Facter.value('ipaddress_eth2') 8 | Facter.value('ipaddress_eth2') 9 | else 10 | Facter.value('ipaddress') 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /modules/facts/lib/facter/vcsrepo.rb: -------------------------------------------------------------------------------- 1 | # Workaround for https://tickets.puppetlabs.com/browse/MODULES-428 2 | # See http://hadooppowered.com/2014/05/12/setup-a-puppetmaster-with-puppetdb-and-puppetboard/ 3 | # 4 | Facter.add('vcsrepo') do 5 | setcode do 6 | "dummy" 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/etc/log4perl.conf: -------------------------------------------------------------------------------- 1 | log4perl.rootLogger=DEBUG, OUTPUT 2 | 3 | log4perl.appender.OUTPUT=Log::Log4perl::Appender::Screen 4 | log4perl.appender.OUTPUT.stderr=1 5 | 6 | log4perl.appender.OUTPUT.layout=PatternLayout 7 | log4perl.appender.OUTPUT.layout.ConversionPattern=[%d] [%p] [%X{url}] %m%n 8 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/etc/resolv.conf: -------------------------------------------------------------------------------- 1 | search metacpan.org 2 | nameserver 8.8.8.8 3 | nameserver 8.8.4.4 4 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/abraxxa/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAhICIg4VoTNMLXLS9NbdyBDTDie2fmmJMpk2Fy+KCNH abraxxa@cpan.org 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/andreea/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfkMXLP4zHFdBHvgkZTBjM0MOnb0X9pT6JAF7Q4mixiqdQBcEsGbUuIQk6GsbiBEUiM/IOruOfeLp53cgi1q+5W+S+sP3Z10/G8XPi2Tt9P3dg3TBjGPmLZzIMhSt5UlPqEzZhbpF7BsJ/fWVC39j/UX3xRC72qVquV2knq0k9004E3Q/53Nm4Vu5gFjI1ffqfX8EYm8tWZ6cIXIM0YEOULPNQTZxio57EHVp3uA46fCZa5FeaWB33sY/iOiRrly6iT9PiihtcdwiQAZ3awuA+Po9dM2s3qSdWPkxgbDdFnVP3wQKRslTtfu6UKQ36THayHo6865j0gYJtCxFoFHvp andreea@sasha -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/atoomic/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxf6B3zAlGVfWfUYQQ/r0bONyJzKLK/stf/RIUgGnEy6YOTxRF6i9uSwmaDUO7P4IPOuO9Hp2Qfuf0J2dOYCiYJXz97KRhW9UfxVIr8GSXm7VtXtnKicWrS8CtYKu1ZZt2bfF8/evHrQ/1ftQVLf/sgMfugmCMtq+jFuS+f9KUjAN5Nfg2lP0yqw+6vAHvT9YWuOcRRHJzaz4ngSl8EpvtxpCmXDXI4vGCwAXotMasgUASf5rvoXvOjOtwfMm0tEPbSqTBO0+pr2woQyCDo0IHUIAt/O49VSUE8pxvJTOJpkV65YpFdp8m3bCOmPTMOwlz7dohcTrfW6gQKAb3iZInw== nicolasrochelemagne@Nicolas-Rochelemagnes-Mac-Pro.local 2 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOjHgICDuipAQUGfY2vnieyxNqRA8iVICNJYKM+sZTwV metacpan-atoomic 3 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/ben/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHVOarVpEnqHB5iRCQZYmMsvAN9nehHK0LgqSLA1cGaLbxy+d4ofE0ObPZWPX3JikoIjYMdDZ0YEp0AYknXCzjclsoTmpidyOiO4MfXWWkjk6j1S0IQFH8vBIBNfff2t2JBHg5aptS9GL7mlsLJs3yNBJPSdORfcMJFw4BFvPblPfFC6UZnVwS3KjdJpIkuFRCOISHsVAzOh85JrIJ37g70YWILdT5nOSQLgbPyqpFqDWjOuJUmiyNBOjVsUGrEglmywSmRK4mWdHg2rjNpYNtwcT6xTzQZAjpUmOdLkqtVc9Car83Z5venF8HMSdv+1GAuCdJNAetTYmHFg+u7uV7 ben@Bens-MacBook-Pro.local -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/davidc/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0YJiCwtddCL1kKbOCwDnQdK8KfM5NqfW1p44EuPq8i0pGxUOqbsiIMWdTc9AcPOj92T0W25SxwOfrZGV4mJjR/glcXNQIXCNxFZbuFLADgN3vtkYKpfMJJqonoiyuIHl9ql2BX614gM4WsyJgJpUaMApQNTqG8K3KyTq8KFLnAOuh4iPm9WZe+mmYnOqQHx08ckPP/3XMFHvORbjfW3P4TZS7hqRqdbpWDH4l42eNtyawlIo/w0WzkK0MD3h+VMh4Pv/AsJbgb5qKwOX1n0MnCh4M1czMCYkuiNmRhEPMN4BNXEYSJESAZyCv+D2LKFjGkXip8zCQEqrOXo/s4QUH david@cpxxxan 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/default/bin/README: -------------------------------------------------------------------------------- 1 | # Files here can be managed through 2 | # metacpan-puppet/files/default/home//bin 3 | 4 | 5 | # This is a default file from metacpan-puppet/files/default/home/default/bin/ 6 | # Just here because git does not let you have an empty dir :( 7 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/ether/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDAr8Se/5/NBDSBDrPz2QFOLve+VxdPV1VBBfcQmwZuOGqCCPr5gfsgeh/lCaMwS/gnABMYCR1lKAXjsty38+Ymhd3mNm3l2UOoPHtWMrAOIgYH4SMGyoC4V6rtfrGy+b9BXmFvnWheLB2xJPc2ov79iUydSdfwiOdK+owEXMMS1d64/ZnRULS9q4OT4N1AHovwgH7sNasx5qhtV5zUU9DdrHvvqOhHQbaq11wZipAW+61Q3xHDRaWLkU/McPBNH+axqblHfrbZhe6PYc3X0YDChrBoXONwrEXwP4alEHG6pGan+YKkuOOGiY/YtuPGwHTGbjbvVZARKAgXn3bj/uT ether@jaeger.etheridge.ca 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/haarg/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHbegp/btybKKX6zr2izDyfPnBX2IeekOJLf1SxkjLV haarg@cuneus 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/matthewt/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyFweBFpLsidZfg6h6bzM/OhSB0EB3XUIp144s63h/4Dz4bz4/E3vRaNn3mFANtSdsTN5S0uRQKBQu8AlpeqXOAlzL+1CYjqpo2WT10IXOgN5wiVl/0bj1sBvx32BLLpi+8Y38crxDX4RegGRhyvrKF6MXkEt1OXgvxyfv2PackHLdf7Q6HdZBLExIq0uKUCz3P7C9Jk7k+e7KlUxT40y4FyceDRwIXNU39OpkMosZCpXIhO8V3Rs926UPBumvtDTV3uPHyzurtXpenSzCKWo4StZEcQ6y3TwjK4S2leHiXHZKQ25M0wHP9xiV9A5egLqI2sZNDGiS+prx6/tTi/hbQ== matthewt@cain 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/metacpan/ssh/authorized_keys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/metacpan/metacpan-puppet/2825f583315ab042d5d96ecbc71639e64c244efe/modules/metacpan/files/default/home/metacpan/ssh/authorized_keys -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/mhorsfall/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAspArQICflXFO1zYzjBqcVzrvLdTN3RRANWEV1VX5qR3NkbCso7ueSIanjVrS3I2X0Sjla2voFhTgPj8Zvh4MoOuFhGXQ6TmKHRUUKJxpALGrb1L5mTffqn2n30RKJY6rCH8C7AotpenivWkonT3w4Hws4TSLeuYbwblWOsdzz9XnSmywHplCmY7M0z6wdsbge+FPdoHimil8O/Q6LaUshR9ezaWnqr2wXJxvTa53KRIXRMyZyO2STpFZReid5TqxVeQeFA5TNk0QfbrqiZ87BP9ISVPkT3ASH8rN9kEuAmW5CYt/C1WF2oyLy6XLgWWCEZDIpwL1sBuzuA3Lu8Sgyw== mhorsfall@Fireforge 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/rwstauner/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPv3x/rHtTkIgQfkqz2Xs9jgWjP/fZ9cita/62/6A2Alhbo3QOEHs1S4GmNgTPBU5GyYQyw7M78N9FjTVlOpE7x2u43z5iuloXWWVLzQJAHjZY8MVa8iZ3nZdPLRBCKrYCtXZ0iE221wSt9YKw0zsXfJflRAfQEBFT13pHU4ypUm7QbOtTzGm6posait/hfjlr4lzBT/m6JgGwuXALlvhZPGjQWhxBJOaow9ce4OXojkmvDtWql88k3f94DW3eqBo2WqHePyz9QVB2Q+0yoFw0bPu9Xllb7PAVCqS1mpWx785Rvfsw0OQknEZJC1FEOoKrfrQzeR1itPcE1J7hVBAX rando@raptor 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/ssoriche/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBIXXt0luctRWRjeqVz3QumS2rTuQOWb/8pKpf/yyl7KGD3E3wsZxWa6fABS2H9aEuAvCrg2hiIM11a7VUbdgJgAwgY5s0W3SGQejt2CafEPdqjzRhAcd6blhI42bfy+O0ok4SMLO36OnClhqv32tq2eGs35tWCQZUqaXHvhPwVQluAY4/3urWhgI3jxaQBz7DwChcAseW28n06Os4YKGvachN7I9Pv+5fICR2Fo6MApxKz2Cz5Xhwqt+GZFWo1Boe+X1tuQ7pUe2m1ql4YC7+rMFhyXChHaUNe+ierv6wqL024dAX6mvWic8Q2o1BDHV8Jj04kikPx6VpvNOZ7vcX 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/default/home/toddr/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAqKmeOUa2Qu1TDdQF+55mg3+DXPwwvDFIWcVnJeiXfvFL+D8iyMrJWQdUm48j6VBoN2VSO0Z8LDctV/i3h5kqdr+nJdTCaOq3MSha7Lq9QB+Z+0r/30WRT2/xHoAHEMlQz1rL1TbWoaGO5g9SbYXQc+IPtGN+8uOGqCDTa8a3Gl5FJ3YZODcXT6CRkTkmt0UQbyFkxQTFUEnAdcLlljidDlPjj0UrUeEHaG7Vm7ZzTl0o1e80CMGukXV1PJ0Ny6xRC/hZ553fvTb66eUBURJInSrFyEUvJU7ZetMqpShmEYcac3wRZ8GDVZcKlsIdfUchixbRjXAkMPlTvRl9lcdUAQ== REPO toddr@cpanel.net 2 | -------------------------------------------------------------------------------- /modules/metacpan/files/motd: -------------------------------------------------------------------------------- 1 | See https://github.com/metacpan/network-infrastructure for current status 2 | 3 | Summary: 4 | BM-01,02,04 - main production ES cluster + web sites 5 | BM-03 - non-production (stage) 6 | LW-01,02,03 - some production websites + DR 7 | -------------------------------------------------------------------------------- /modules/metacpan/files/rsyslog_server/logrotate.d/central_logger: -------------------------------------------------------------------------------- 1 | /var/log/remote/*/*.log 2 | /var/log/remote/*/messages 3 | /var/log/remote/*/syslog 4 | { 5 | rotate 12 6 | weekly 7 | missingok 8 | notifempty 9 | compress 10 | delaycompress 11 | sharedscripts 12 | postrotate 13 | invoke-rc.d rsyslog rotate > /dev/null 14 | endscript 15 | } 16 | -------------------------------------------------------------------------------- /modules/metacpan/manifests/role/developer.pp: -------------------------------------------------------------------------------- 1 | class metacpan::role::developer { 2 | 3 | include metacpan 4 | 5 | } 6 | -------------------------------------------------------------------------------- /modules/metacpan/manifests/role/production.pp: -------------------------------------------------------------------------------- 1 | class metacpan::role::production { 2 | 3 | include metacpan 4 | include metacpan::web::production 5 | 6 | include panopta 7 | 8 | } 9 | -------------------------------------------------------------------------------- /modules/metacpan/manifests/system/directories.pp: -------------------------------------------------------------------------------- 1 | class metacpan::system::directories { 2 | 3 | # We install most stuff in here 4 | file { 5 | '/opt': 6 | owner => 'root', 7 | group => 'root', 8 | ensure => directory; 9 | } 10 | # Make this for if any machine becomes the munin master 11 | file { 12 | '/var/www/munin': 13 | owner => 'munin', 14 | group => 'munin', 15 | require => Class['munin::node'], 16 | ensure => directory; 17 | } 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /modules/metacpan/manifests/system/firewall.pp: -------------------------------------------------------------------------------- 1 | define metacpan::system::firewall( 2 | $ensure = present, 3 | $order = '300', 4 | $port, 5 | $proto = 'tcp', 6 | $action = 'accept', 7 | $source = '127.0.0.1', 8 | ) { 9 | 10 | firewall { "${order} ${action} ${proto} ${port} ${name}": 11 | ensure => $ensure, 12 | dport => [ $port ], 13 | proto => $proto, 14 | action => $action, 15 | source => $source, # anywhere 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /modules/metacpan/manifests/system/mongodb.pp: -------------------------------------------------------------------------------- 1 | class metacpan::system::mongodb { 2 | 3 | # Needed for gh.metacpan.org 4 | package { 'mongodb': ensure => present } 5 | } 6 | -------------------------------------------------------------------------------- /modules/metacpan/manifests/system/ssh.pp: -------------------------------------------------------------------------------- 1 | class metacpan::system::ssh { 2 | package { ["openssh-server", "openssh-client"]: 3 | ensure => latest, 4 | }-> 5 | file { 6 | "/etc/ssh/sshd_config": 7 | source => "puppet:///modules/metacpan/default/etc/ssh/sshd_config", 8 | mode => '0444', 9 | owner => root, 10 | group => root, 11 | notify => Service['ssh']; 12 | }-> 13 | service { ssh: 14 | ensure => running, 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /modules/metacpan/manifests/web.pp: -------------------------------------------------------------------------------- 1 | # Various bits that don't fit into hiera yet 2 | class metacpan::web( 3 | $user = hiera('metacpan::user', 'metacpan'), 4 | $group = hiera('metacpan::group', 'metacpan'), 5 | ) { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /modules/metacpan/templates/web/metacpan-web-redirect/rewrite.erb: -------------------------------------------------------------------------------- 1 | rewrite /(.*)$ https://metacpan.org/$1 permanent; 2 | 3 | -------------------------------------------------------------------------------- /modules/metacpan/templates/web/metacpan-web/trailing_slash.erb: -------------------------------------------------------------------------------- 1 | rewrite ^/(.*)/$ /$1 permanent; 2 | 3 | -------------------------------------------------------------------------------- /modules/metacpan_elasticsearch/files/etc/scripts/prefer_shorter_module_names_100.groovy: -------------------------------------------------------------------------------- 1 | _score - doc.documentation.value.length().toDouble()/100; -------------------------------------------------------------------------------- /modules/metacpan_elasticsearch/files/etc/scripts/prefer_shorter_module_names_400.groovy: -------------------------------------------------------------------------------- 1 | len = (doc.documentation.empty ? 26 : doc.documentation.value.length()); 2 | _score - len.toDouble()/400; -------------------------------------------------------------------------------- /modules/metacpan_elasticsearch/files/etc/scripts/score_version_numified.groovy: -------------------------------------------------------------------------------- 1 | doc.module.version_numified.value; -------------------------------------------------------------------------------- /modules/metacpan_elasticsearch/files/etc/scripts/status_is_latest.groovy: -------------------------------------------------------------------------------- 1 | doc.status.value == 'latest'; -------------------------------------------------------------------------------- /modules/metacpan_elasticsearch/files/etc/security/elasticsearch: -------------------------------------------------------------------------------- 1 | #Each line describes a limit for a user in the form: 2 | # 3 | # 4 | 5 | # NOTE: The es init script does its own ulimit call (as root) using 6 | # MAX_OPEN_FILES=65535 which overrides this. 7 | elasticsearch - nofile 65000 8 | 9 | elasticsearch - memlock unlimited 10 | metacpan - nofile 65000 11 | -------------------------------------------------------------------------------- /modules/metacpan_elasticsearch/manifests/curator.pp: -------------------------------------------------------------------------------- 1 | class metacpan_elasticsearch::curator( 2 | ) { 3 | 4 | package { 'python-pip': 5 | ensure => installed, 6 | } 7 | 8 | package { 'elasticsearch-curator': 9 | ensure => present, 10 | provider => pip, 11 | require => Package['python-pip'], 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /modules/metacpan_elasticsearch/manifests/script.pp: -------------------------------------------------------------------------------- 1 | define metacpan_elasticsearch::script( 2 | $a_value 3 | ) { 4 | 5 | elasticsearch::script { $name: 6 | source => "puppet:///modules/metacpan_elasticsearch/etc/scripts/${name}.groovy", 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /modules/metacpan_kibana/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class metacpan_kibana() { 2 | 3 | include metacpan_kibana::package 4 | 5 | apt::pin { 'kibana': 6 | version => '4.6.3', 7 | priority => 1001, 8 | packages => 'kibana' 9 | } 10 | 11 | service { "kibana": 12 | ensure => 'running', 13 | require => Exec['kibana_deb_install'], 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /modules/metacpan_nginx/files/basics.conf: -------------------------------------------------------------------------------- 1 | server_names_hash_bucket_size 64; -------------------------------------------------------------------------------- /modules/metacpan_nginx/files/status.conf: -------------------------------------------------------------------------------- 1 | server { 2 | server_name localhost; 3 | location /nginx_status { 4 | stub_status on; 5 | access_log off; 6 | allow 127.0.0.1; 7 | deny all; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/metacpan_nginx/files/types.conf: -------------------------------------------------------------------------------- 1 | types { 2 | application/x-gtar tar; 3 | application/x-bzip2 bz2 tbz2 tbz; 4 | application/x-gzip gz tgz; 5 | } 6 | -------------------------------------------------------------------------------- /modules/metacpan_nginx/templates/proxy.conf.erb: -------------------------------------------------------------------------------- 1 | rewrite ^(<%= @location %>)$ $1/ permanent; 2 | 3 | location <%= @location %>/ { 4 | proxy_pass <%= @target %>; 5 | proxy_redirect off; 6 | proxy_set_header Host $host; 7 | proxy_set_header X-Real-IP $remote_addr; 8 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 9 | proxy_set_header X-Forwarded-Port $server_port; 10 | proxy_set_header X-Forwarded-Host $host; 11 | proxy_set_header X-Forwarded-Proto $scheme; 12 | } 13 | -------------------------------------------------------------------------------- /modules/metacpan_postgres/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class metacpan_postgres( 2 | ) { 3 | 4 | # Install postgres 5 | class { 'postgresql::globals': 6 | manage_package_repo => true, 7 | version => '9.6', 8 | }->class { 'postgresql::server': 9 | listen_addresses => '*' 10 | } 11 | 12 | include metacpan_postgres::user 13 | include metacpan_postgres::firewall 14 | 15 | } 16 | -------------------------------------------------------------------------------- /modules/metacpan_postgres/manifests/install_only.pp: -------------------------------------------------------------------------------- 1 | class metacpan_postgres::install_only( 2 | ) { 3 | 4 | # Install postgres 5 | class { 'postgresql::globals': 6 | manage_package_repo => true, 7 | version => '9.6', 8 | }->class { 'postgresql::server': 9 | listen_addresses => '*', 10 | service_ensure => 'stopped', 11 | service_enable => 'false', 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/metacpan_postgres/templates/pgpass.erb: -------------------------------------------------------------------------------- 1 | # Access to minion queue 2 | <% @local_net.each do |remote_host| -%> 3 | <%= remote_host %>:5432:minion_queue:<%= @user %>:<%= @password %> 4 | <% end -%> 5 | 6 | 7 | -------------------------------------------------------------------------------- /modules/minion_queue/manifests/init.pp: -------------------------------------------------------------------------------- 1 | # == Class: minion_queue 2 | # 3 | # Add the following to hiera 4 | # 5 | # classes: 6 | # - minion_queue 7 | # 8 | # minion_queue::service::workers: 1 9 | # minion_queue::service::ensure: running 10 | # minion_queue::service::enable: true 11 | # 12 | # 13 | class minion_queue( 14 | ) { 15 | 16 | include minion_queue::service 17 | 18 | } 19 | -------------------------------------------------------------------------------- /modules/munin/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | group :test do 4 | gem 'rake' 5 | gem 'puppet', ENV['PUPPET_VERSION'] || '~> 3.7.0' 6 | gem 'rspec-puppet', :git => 'https://github.com/rodjek/rspec-puppet.git', :ref => 'v2.0.0' 7 | gem 'puppetlabs_spec_helper' 8 | end 9 | 10 | group :development do 11 | gem 'travis' 12 | gem 'travis-lint' 13 | gem 'vagrant-wrapper' 14 | gem 'puppet-blacksmith' 15 | gem 'guard-rake' 16 | gem 'metadata-json-lint' 17 | end 18 | -------------------------------------------------------------------------------- /modules/munin/Guardfile: -------------------------------------------------------------------------------- 1 | notification :off 2 | 3 | guard 'rake', :task => 'test' do 4 | watch('Rakefile') 5 | watch(%r{^manifests\/(.+)\.pp$}) 6 | watch(%r{^templates\/(.+)\.erb$}) 7 | end 8 | 9 | guard 'rake', :task => 'metadata' do 10 | watch('metadata.json') 11 | end 12 | -------------------------------------------------------------------------------- /modules/munin/templates/master/node.definition.conf.erb: -------------------------------------------------------------------------------- 1 | # Munin master configuration fragment for <%= @name %> 2 | # 3 | # This file is handled by puppet, all modifications will be lost 4 | 5 | [<%= @name %>] 6 | address <%= @address %> 7 | <% Array(@config).each do |line| -%> 8 | <%= line %> 9 | <% end -%> 10 | -------------------------------------------------------------------------------- /modules/munin/templates/plugin_conf.erb: -------------------------------------------------------------------------------- 1 | <% 2 | # Select label from either config_label or from the namevar 3 | if @config_label == :undef or @config_label.nil? then 4 | label = @name 5 | else 6 | label = @config_label 7 | end 8 | -%> 9 | [<%= label %>] 10 | <%= Array(@config).join("\n") %> 11 | -------------------------------------------------------------------------------- /modules/nodejs/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class nodejs { 2 | 3 | exec { "nodejs": 4 | command => "wget http://nodejs.org/dist/v0.12.18/node-v0.12.18.tar.gz && tar -xzf node-v0.12.18.tar.gz && cd node-v0.12.18 && ./configure && make install", 5 | path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 6 | timeout => 600, # 10 min 7 | cwd => "/tmp", 8 | onlyif => "test ! -f /usr/local/bin/node" 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /modules/npm/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class npm { 2 | 3 | include nodejs 4 | 5 | exec { "npm": 6 | command => "curl https://npmjs.org/install.sh | sh", 7 | path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 8 | cwd => "/tmp", 9 | onlyif => "test ! -f /usr/local/bin/npm", 10 | require => [ Exec["nodejs"] ] 11 | } 12 | 13 | } -------------------------------------------------------------------------------- /modules/npm/manifests/install.pp: -------------------------------------------------------------------------------- 1 | define npm::install ( 2 | $pkg = $name, 3 | $exe = $name, 4 | ) { 5 | 6 | include npm 7 | 8 | exec { "npm install -g $pkg": 9 | path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 10 | cwd => '/tmp', 11 | # This is naive but sufficient for our current usage. 12 | # We may have to check `npm list` at some point. 13 | unless => "test -f /usr/local/bin/$exe", 14 | require => [ 15 | Class['npm'], 16 | ], 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /modules/panopta/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class panopta() { 2 | 3 | require panopta::apt 4 | 5 | require panopta::packages 6 | 7 | # To get the cert run 8 | # python /usr/bin/panopta-agent/panopta_agent.py 9 | 10 | } 11 | -------------------------------------------------------------------------------- /modules/panopta/manifests/packages.pp: -------------------------------------------------------------------------------- 1 | class panopta::packages() { 2 | 3 | exec { "panopta_agent": 4 | command => "/usr/bin/apt-get install --assume-yes --allow-unauthenticated panopta-agent", 5 | creates => '/usr/bin/panopta-agent/panopta_agent.py', 6 | require => [ Exec['panopta_update'] ], 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /modules/perl/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class perl { 2 | include perl::params 3 | include carton 4 | } 5 | -------------------------------------------------------------------------------- /modules/perl/manifests/params.pp: -------------------------------------------------------------------------------- 1 | # 2 | # include perl 3 | # $perl::params::dir 4 | # $perl::params::bin_dir 5 | # 6 | class perl::params( 7 | $perl_version = hiera('perl::version', '5.22.2'), 8 | ) { 9 | $dir = "/opt/perl-${perl_version}" 10 | $bin_dir = "${dir}/bin" 11 | } 12 | -------------------------------------------------------------------------------- /modules/puppet/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class puppet::client { 2 | 3 | package { puppet: ensure => latest } 4 | 5 | # Setup perlbal configs 6 | file { 7 | "/etc/puppet/puppet.conf": 8 | owner => "root", 9 | group => "root", 10 | mode => '0644', 11 | content => template("puppet/puppet.conf"), 12 | } 13 | 14 | } 15 | 16 | -------------------------------------------------------------------------------- /modules/puppet/templates/puppet.conf: -------------------------------------------------------------------------------- 1 | # MANAGED THROUGH PUPPET - edit modules/puppet/templates/puppet.conf 2 | [main] 3 | logdir=/var/log/puppet 4 | vardir=/var/lib/puppet 5 | rundir=/var/run/puppet 6 | ssldir=/etc/puppet/ssl 7 | factpath=$vardir/lib/facter 8 | #pluginsync=true 9 | node_name=cert 10 | 11 | [agent] 12 | server=puppet 13 | certname=<%= clientcert %> 14 | runinterval=600 15 | 16 | [master] 17 | templatedir=/var/lib/puppet/templates 18 | 19 | -------------------------------------------------------------------------------- /modules/rrrclient/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class rrrclient( 2 | ) { 3 | 4 | } 5 | -------------------------------------------------------------------------------- /modules/starman/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class starman( 2 | $user = hiera('metacpan::user', 'metacpan') 3 | ) { 4 | 5 | include starman::config 6 | 7 | file { "/home/${user}/carton": 8 | ensure => directory, 9 | mode => '0755', 10 | owner => $user, 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /puppet.conf.default: -------------------------------------------------------------------------------- 1 | # Default to bootstrap autosign 2 | [main] 3 | logdir=/var/log/puppet 4 | vardir=/var/lib/puppet 5 | rundir=/var/run/puppet 6 | ssldir=/etc/puppet/ssl 7 | factpath=$vardir/lib/facter 8 | #pluginsync=true 9 | node_name=cert 10 | parser=future 11 | 12 | [agent] 13 | server=puppet 14 | runinterval=600 15 | certname=default 16 | 17 | [master] 18 | templatedir=/var/lib/puppet/templates 19 | -------------------------------------------------------------------------------- /ssl/vagrant.txt: -------------------------------------------------------------------------------- 1 | If using vagrant this dir should not be removed 2 | so this file is used as a placeholder. 3 | 4 | Puppet stores it's own ssl certs in here 5 | nothing to do with nginx 6 | 7 | If not using vagrant this file should be harmless. 8 | --------------------------------------------------------------------------------