├── .gitignore ├── .travis.yml ├── CODEOWNERS ├── Makefile ├── README.md ├── acceptance ├── Gemfile └── tests │ └── dummy-test.rb ├── bin └── vagrantclouder ├── hiera └── .gitignore ├── manifests ├── base.pp ├── modules │ └── packer │ │ ├── files │ │ └── vsphere │ │ │ ├── authorized_keys │ │ │ ├── dhclient.conf │ │ │ ├── dhcp4.xml │ │ │ └── periodic │ │ ├── manifests │ │ ├── networking.pp │ │ ├── networking │ │ │ └── params.pp │ │ ├── puppet.pp │ │ ├── repos.pp │ │ ├── sshd.pp │ │ ├── vagrant.pp │ │ ├── vagrant │ │ │ └── params.pp │ │ ├── vmtools.pp │ │ ├── vmtools │ │ │ └── params.pp │ │ ├── vsphere.pp │ │ └── vsphere │ │ │ ├── fw.pp │ │ │ ├── networking.pp │ │ │ ├── params.pp │ │ │ ├── repos.pp │ │ │ └── updates.pp │ │ └── templates │ │ └── vsphere │ │ ├── debian.rb.erb │ │ ├── local.localhost.startup.plist │ │ ├── osx.rb.erb │ │ ├── rc.local │ │ ├── redhat.rb.erb │ │ ├── sles.rb.erb │ │ ├── solaris.rb.erb │ │ ├── ubuntu.rb.erb │ │ └── vsphere.bootstrap.service ├── vagrant │ ├── nocm.pp │ └── puppet.pp └── vsphere │ └── nocm.pp ├── scripts ├── bootstrap-aio.sh ├── bootstrap-puppet.sh ├── cleanup-aio.sh ├── cleanup-ec2.sh ├── cleanup-packer.sh ├── cleanup-puppet.sh ├── cleanup-scrub.sh ├── install-puppet-enterprise.sh ├── kurl.sh ├── mono-preload.sh ├── noop.sh └── pdbpreload.sh ├── templates ├── alma │ ├── 8.4 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ └── common │ │ └── vars.json ├── centos │ ├── 6.8 │ │ ├── common │ │ │ ├── files │ │ │ │ └── ks.cfg │ │ │ └── vars.json │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 6.9 │ │ ├── common │ │ │ ├── files │ │ │ │ └── ks.cfg │ │ │ └── vars.json │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.0 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.2-mono-2018.1.15-preload │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.2-tmpfs │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.2 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.3 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.4 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.5 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.6 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 8.0-pdbpreload │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 8.0 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ └── vars.json ├── common │ ├── docker.nocm.json │ ├── docker.puppet.json │ ├── libvirt.base.json │ ├── libvirt.nocm.json │ ├── libvirt.puppet.json │ ├── virtualbox.base.json │ ├── virtualbox.nocm.json │ ├── virtualbox.puppet.json │ ├── vmware.base.json │ ├── vmware.vcenter.json │ └── vmware.vsphere.nocm.json ├── debian │ ├── 10.0 │ │ ├── common │ │ │ └── files │ │ │ │ └── preseed.cfg │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 11.0 │ │ ├── common │ │ │ └── files │ │ │ │ └── preseed.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.8 │ │ ├── common │ │ │ └── files │ │ │ │ └── preseed.cfg │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 8.11 │ │ ├── common │ │ │ ├── files │ │ │ │ └── preseed.cfg │ │ │ └── vars.json │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 9.0 │ │ ├── common │ │ │ └── files │ │ │ │ └── preseed.cfg │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ ├── vars.json │ │ └── vmware.base.json ├── fedora │ ├── 32 │ │ ├── files │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 34 │ │ ├── files │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ ├── files │ │ └── ks.cfg │ │ └── vars.json ├── macos │ ├── 12 │ │ └── x86_64 │ │ │ └── vars.json │ ├── 10.15 │ │ └── x86_64 │ │ │ └── vars.json │ ├── 11.2 │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ ├── files │ │ ├── base │ │ │ ├── add-network-interface-detection.sh │ │ │ ├── cleanup.sh │ │ │ ├── set_kcpassword.py │ │ │ ├── shrink.sh │ │ │ ├── skip-icloud-setup.mobileconfig │ │ │ ├── vmware.sh │ │ │ └── xcode-cli-tools.sh │ │ ├── pooler-setup.sh │ │ └── pooler │ │ │ ├── authorized_keys │ │ │ ├── local.localhost.startup.plist │ │ │ ├── rc.local │ │ │ └── vsphere-bootstrap.rb │ │ └── vars.json ├── oracle │ ├── 5.10 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 6.8 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ └── vars.json ├── redhat │ ├── 6.8 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.2-fips │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.2 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 8.0-fips │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 8.0 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── 8.4-kurl-beta │ │ ├── common │ │ │ └── files │ │ │ │ ├── bash_profile_k8s_status.sh │ │ │ │ ├── check_k8s_restart_state.sh │ │ │ │ ├── ks.cfg │ │ │ │ └── restart_k8s.sh │ │ └── x86_64 │ │ │ └── vars.json │ ├── 9.0 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ ├── files │ │ └── enable-fips.sh │ │ └── vars.json ├── rocky │ ├── 8.4 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ └── common │ │ └── vars.json ├── scientific │ ├── 5.10 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 6.8 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.2 │ │ ├── common │ │ │ └── files │ │ │ │ └── ks.cfg │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ └── vars.json ├── sles │ ├── 11 │ │ ├── common │ │ │ └── files │ │ │ │ ├── autoinst-x64.xml │ │ │ │ └── autoinst-x86.xml │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 15 │ │ ├── common │ │ │ ├── files │ │ │ │ └── autoinst.xml.stub │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 12.1 │ │ ├── common │ │ │ ├── files │ │ │ │ └── autoinst.xml │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ └── vars.json ├── solaris │ ├── 10u11 │ │ ├── README.md │ │ ├── common │ │ │ ├── files │ │ │ │ ├── begin │ │ │ │ ├── finish │ │ │ │ ├── profile │ │ │ │ ├── rules │ │ │ │ ├── rules.ok │ │ │ │ └── sysidcfg │ │ │ ├── scripts │ │ │ │ ├── base.sh │ │ │ │ ├── cleanup.sh │ │ │ │ ├── update-terminfo.sh │ │ │ │ └── zerodisk.sh │ │ │ └── vmware.base.json │ │ └── i386 │ │ │ └── vars.json │ ├── 11.2 │ │ ├── README.md │ │ ├── common │ │ │ └── files │ │ │ │ ├── ai.xml │ │ │ │ └── profile.xml │ │ └── x86_64 │ │ │ └── vars.json │ ├── 11.4 │ │ ├── common │ │ │ └── files │ │ │ │ ├── ai.xml │ │ │ │ └── profile.xml │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ ├── scripts │ │ └── vmtools.sh │ │ └── vars.json ├── ubuntu │ ├── 14.04 │ │ ├── common │ │ │ ├── files │ │ │ │ └── preseed.cfg │ │ │ └── vars.json │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 16.04 │ │ ├── common │ │ │ ├── files │ │ │ │ └── preseed.cfg │ │ │ └── vars.json │ │ ├── i386 │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 18.04 │ │ ├── common │ │ │ ├── files │ │ │ │ └── preseed.cfg │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── 20.04 │ │ ├── common │ │ │ ├── files │ │ │ │ └── preseed.cfg │ │ │ └── vars.json │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ └── vars.json ├── vro │ ├── 7.1 │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.3 │ │ └── x86_64 │ │ │ └── vars.json │ ├── 7.4 │ │ └── x86_64 │ │ │ └── vars.json │ ├── README.md │ └── common │ │ ├── files │ │ └── vcloud-bootstrap │ │ ├── scripts │ │ └── configure-for-vsphere.sh │ │ └── vmware.vsphere.nocm.json └── win │ ├── 81 │ └── x86_64 │ │ ├── files │ │ ├── platform-packages.ps1 │ │ └── slipstream-filter │ │ └── vars.json │ ├── 2012 │ └── x86_64 │ │ ├── files │ │ ├── platform-packages.ps1 │ │ └── slipstream-filter │ │ ├── vars.json │ │ └── x86_64.vmware.slipstream.json │ ├── 2016 │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 2019 │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 2022 │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 10-1511 │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 10-1607 │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 10-1809 │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 10-ent │ ├── i386 │ │ ├── files │ │ │ └── platform-packages.ps1 │ │ └── vars.json │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 10-next │ ├── i386 │ │ ├── files │ │ │ └── platform-packages.ps1 │ │ └── vars.json │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 10-pro │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 2008r2 │ └── x86_64 │ │ ├── files │ │ ├── platform-packages.ps1 │ │ ├── slipstream-filter │ │ └── windows-2008r2-slipstream.package.ps1 │ │ └── vars.json │ ├── 2012r2-core │ └── x86_64 │ │ ├── files │ │ ├── platform-packages.ps1 │ │ └── slipstream-filter │ │ └── vars.json │ ├── 2012r2-fips │ └── x86_64 │ │ ├── files │ │ ├── platform-packages.ps1 │ │ └── slipstream-filter │ │ └── vars.json │ ├── 2012r2-wmf5 │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 2012r2 │ └── x86_64 │ │ ├── files │ │ ├── platform-packages.ps1 │ │ └── slipstream-filter │ │ └── vars.json │ ├── 2016-core │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 2019-core │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 2019-fr │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 2019-ja │ └── x86_64 │ │ ├── files │ │ ├── platform-packages.ps1 │ │ └── slipstream-filter │ │ └── vars.json │ ├── 2019-mock │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ ├── 2019-wslssh │ └── x86_64 │ │ ├── files │ │ └── platform-packages.ps1 │ │ └── vars.json │ └── common │ ├── files │ ├── AutoUnattendTemplate.xml │ ├── Autounattend.xslt │ └── PostCloneTemplate.xml │ ├── gen-xslt.sh │ ├── puppet │ ├── forge-modules.txt │ ├── hiera.yaml │ ├── windows_group_policy │ │ ├── manifests │ │ │ ├── gpupdate.pp │ │ │ ├── init.pp │ │ │ └── local │ │ │ │ ├── machine.pp │ │ │ │ ├── machine_client_side_extensions.pp │ │ │ │ ├── user.pp │ │ │ │ └── user_client_side_extensions.pp │ │ ├── metadata.json │ │ └── templates │ │ │ ├── PolFileEditor.ps1 │ │ │ ├── command-set.ps1 │ │ │ ├── command-unless.ps1 │ │ │ ├── ext_command-set.ps1 │ │ │ ├── ext_command-unless.ps1 │ │ │ ├── gp_extensions.ps1 │ │ │ ├── local_gpo.ps1 │ │ │ ├── local_gpo_ext.ps1 │ │ │ └── script_header.ps1 │ └── windows_template │ │ ├── data │ │ └── common.json │ │ ├── files │ │ └── master_preferences │ │ └── manifests │ │ ├── apps │ │ ├── chrome.pp │ │ ├── gitforwin.pp │ │ ├── notepadplusplus.pp │ │ ├── powershell7.pp │ │ ├── sysinternals.pp │ │ └── sysinternals_pkgs.pp │ │ ├── bootcfg │ │ └── bootcfg.pp │ │ ├── firewall │ │ └── firewall.pp │ │ ├── init.pp │ │ ├── policies │ │ ├── local_group_policies.pp │ │ └── security_policies.pp │ │ ├── registry │ │ ├── machine.pp │ │ └── user.pp │ │ ├── services │ │ └── configure_services.pp │ │ ├── ssh │ │ ├── cygwin_240.pp │ │ ├── cygwin_pkgs.pp │ │ └── wsl_ssh.pp │ │ └── vagrant.pp │ ├── scripts │ ├── acceptance │ │ ├── bootstrap-packerbuild │ │ │ ├── OSVersions.Tests.ps1 │ │ │ └── PackerDirectories.Tests.ps1 │ │ ├── cygwin │ │ │ └── cygwin.Tests.ps1 │ │ ├── platform │ │ │ ├── DateTime.Tests.ps1 │ │ │ ├── DirectoryCleanup.Tests.ps1 │ │ │ └── Services.Tests.ps1 │ │ ├── puppet │ │ │ ├── puppet.Tests.ps1 │ │ │ ├── sysinternals.Tests.ps1 │ │ │ └── winpackages.Tests.ps1 │ │ └── windows-update │ │ │ └── WindowsUpdate.Tests.ps1 │ ├── bootstrap │ │ ├── AddTrust_External_CA_Root.cer │ │ ├── bootstrap-base.bat │ │ ├── bootstrap-packerbuild.ps1 │ │ ├── generate-slipstream.ps1 │ │ ├── packer-windows-update.ps1 │ │ └── shutdown-packerbuild.ps1 │ ├── common │ │ ├── Pin-AppsToTaskBar.ps1 │ │ ├── Set-Bginfo.ps1 │ │ ├── init-sysprep.ps1 │ │ ├── makecert.exe │ │ ├── puppet-configure.ps1 │ │ ├── sched-bginfo.vbs │ │ ├── test-packerbuild.ps1 │ │ └── windows-env.ps1 │ ├── config │ │ ├── Platform9.bgi │ │ ├── StartMenuLayout.xml │ │ ├── VMPooler.bgi │ │ ├── authorized_keys.vmpooler │ │ ├── fstab │ │ ├── gitforwin.inf │ │ └── win-site.pp │ ├── platform9 │ │ ├── RedHat.cer │ │ └── platform9-post-clone-configuration.ps1 │ ├── provisioners │ │ ├── clean-disk-dism.ps1 │ │ ├── clean-disk-sdelete.ps1 │ │ ├── cleanup-host.ps1 │ │ ├── config-platform9.ps1 │ │ ├── initiate-puppet-configure.ps1 │ │ └── initiate-windows-update.ps1 │ └── vmpooler │ │ ├── DisableNetworkAdapterPnPCapabilities.ps1 │ │ ├── vmpooler-clone-startup.ps1 │ │ └── vmpooler-post-clone-configuration.ps1 │ ├── vars.json │ ├── vmpooler_deploy_record.sh │ ├── vmware.vcenter.bios.base.json │ ├── vmware.vcenter.cygwin.json │ ├── vmware.vcenter.platform9.json │ └── vmware.vcenter.slipstream.json ├── tests ├── test-setup.sh └── test-syntax.sh └── util ├── VMWarePowerCLI ├── DeployVM.ps1 └── FixupNov2020Images.ps1 └── windows ├── win-2008 ├── slipstream-filter.txt └── win-2008-slipstream.ps1 ├── win-2008r2 ├── slipstream-filter.txt └── win2008r2slip.ps1 └── win-2012 └── win-2012-slipstream.ps1 /.gitignore: -------------------------------------------------------------------------------- 1 | packer_cache 2 | output-* 3 | output/ 4 | tmp/ 5 | vendor/* 6 | *.bak 7 | *.iso 8 | hiera/* 9 | drivers/ 10 | packer 11 | !manifests/modules/packer 12 | .DS_Store 13 | Gemfile.lock 14 | Gemfile.local 15 | acceptance/junit/* 16 | acceptance/log/* 17 | acceptance/tmp/* 18 | acceptance/hosts.yaml 19 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: bash 2 | 3 | # Use container-based infrastructure for quicker build start-up 4 | sudo: false 5 | dist: xenial 6 | 7 | addons: 8 | apt: 9 | packages: 10 | - shellcheck 11 | 12 | script: 13 | - make test 14 | # I hope to enable shellcheck one day 15 | #- bash -c 'find . -type f -name "*.sh" | xargs shellcheck' 16 | 17 | matrix: 18 | fast_finish: true 19 | notifications: 20 | email: false 21 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # RE & Phoenix will be the default owners for everything in the repo. 2 | * @puppetlabs/release-engineering 3 | * @puppetlabs/phoenix 4 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: deps 3 | @echo running tests 4 | @tests/test-syntax.sh 5 | 6 | deps: packer 7 | 8 | packer: 9 | @tests/test-setup.sh 10 | 11 | clean: 12 | rm -f packer 13 | 14 | -------------------------------------------------------------------------------- /acceptance/Gemfile: -------------------------------------------------------------------------------- 1 | # Specifies a gem mirror; duplicated in acceptance setup 2 | # to ensure a similar environment on acceptance hosts. 3 | source ENV['GEM_SOURCE'] || 'https://rubygems.org' 4 | 5 | def location_for(place, fake_version = nil) 6 | if place =~ /^(git:[^#]*)#(.*)/ 7 | [fake_version, { :git => $1, :branch => $2, :require => false }].compact 8 | elsif place =~ /^file:\/\/(.*)/ 9 | ['>= 0', { :path => File.expand_path($1), :require => false }] 10 | else 11 | [place, { :require => false }] 12 | end 13 | end 14 | 15 | gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 3.13.0') 16 | gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'] || "~> 0.3") 17 | gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || "~> 0.2") 18 | gem "rake", "~> 10.1" 19 | 20 | if File.exists? "#{__FILE__}.local" 21 | eval(File.read("#{__FILE__}.local"), binding) 22 | end 23 | -------------------------------------------------------------------------------- /acceptance/tests/dummy-test.rb: -------------------------------------------------------------------------------- 1 | test_name 'Beaker hello world test' do 2 | step 'Trivial hello world test' do 3 | hosts.each do |host| 4 | on(host, "echo hello") { assert_equal(0, exit_code) } 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /hiera/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /manifests/base.pp: -------------------------------------------------------------------------------- 1 | include packer::repos 2 | include packer::sshd 3 | include packer::networking 4 | 5 | # Building on vCenter means we need to set up the vmtools ourselves 6 | unless $::provisioner in ['ec2', 'libvirt'] or $::packer_build_name == 'vcenter-iso' { 7 | include packer::vmtools 8 | } 9 | -------------------------------------------------------------------------------- /manifests/modules/packer/files/vsphere/dhclient.conf: -------------------------------------------------------------------------------- 1 | send host-name = pick-first-value(gethostname(), "ISC-dhclient"); -------------------------------------------------------------------------------- /manifests/modules/packer/files/vsphere/dhcp4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | disable 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /manifests/modules/packer/files/vsphere/periodic: -------------------------------------------------------------------------------- 1 | # APT::Periodic::Enable "1"; 2 | # - Enable the update/upgrade script (0=disable) 3 | APT::Periodic::Enable "0"; 4 | -------------------------------------------------------------------------------- /manifests/modules/packer/manifests/networking.pp: -------------------------------------------------------------------------------- 1 | # == Class: packer::networking 2 | # 3 | # A define that manages networking 4 | # 5 | class packer::networking( 6 | Optional[String] $udev_rule = $packer::networking::params::udev_rule, 7 | Optional[String] $udev_rule_gen = $packer::networking::params::udev_rule_gen, 8 | Optional[String] $interface_script = $packer::networking::params::interface_script 9 | ) inherits packer::networking::params { 10 | 11 | if ( $udev_rule != undef ) { 12 | file { $udev_rule: 13 | ensure => absent, 14 | } 15 | } 16 | 17 | if ( $udev_rule_gen != undef ) { 18 | file { $udev_rule_gen: 19 | ensure => link, 20 | target => '/dev/null', 21 | } 22 | } 23 | 24 | unless ($facts['osfamily'] == 'redhat' and $facts['operatingsystemmajrelease'] == '9') { 25 | if ( $interface_script != undef ) { 26 | file_line { "remove ${interface_script} hwaddr": 27 | path => $interface_script, 28 | line => '#HWADDR withheld', 29 | match => 'HWADDR', 30 | } 31 | } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /manifests/modules/packer/manifests/puppet.pp: -------------------------------------------------------------------------------- 1 | # == Class: packer::puppet 2 | # 3 | # A define that manages puppet 4 | # 5 | class packer::puppet { 6 | file { '/etc/profile.d/append-puppetlabs-path.sh': 7 | mode => '0644', 8 | content => 'PATH=$PATH:/opt/puppetlabs/bin', 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /manifests/modules/packer/manifests/sshd.pp: -------------------------------------------------------------------------------- 1 | # == Class: packer::sshd 2 | # 3 | # A define that manages SSHD server 4 | # 5 | class packer::sshd { 6 | 7 | if ($facts['operatingsystem'] == 'Solaris') and ($facts['operatingsystemrelease'] in ['11.2']) { 8 | # In version 11.2 UseDNS option is invalid so we remove it from options. 9 | class { 'ssh::server': 10 | storeconfigs_enabled => false, 11 | options => { 12 | 'PermitRootLogin' => 'yes', 13 | 'GSSAPIAuthentication' => 'no', 14 | }, 15 | } 16 | } 17 | else { 18 | class { 'ssh::server': 19 | storeconfigs_enabled => false, 20 | options => { 21 | 'PermitRootLogin' => 'yes', 22 | 'UseDNS' => 'no', 23 | 'GSSAPIAuthentication' => 'no', 24 | }, 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /manifests/modules/packer/manifests/vagrant/params.pp: -------------------------------------------------------------------------------- 1 | # == Class: packer::vagrant::params 2 | # 3 | # A define that manages vagrand praramters 4 | # 5 | class packer::vagrant::params { 6 | 7 | case $::osfamily { 8 | debian, redhat: { 9 | $home_base = '/home' 10 | $sudoers_file = '/etc/sudoers' 11 | } 12 | 13 | default: { 14 | fail( "Unsupported platform: ${::osfamily}/${::operatingsystem}" ) 15 | } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /manifests/modules/packer/manifests/vsphere/fw.pp: -------------------------------------------------------------------------------- 1 | # == Class: packer::fw 2 | # 3 | # A define that manages firewall 4 | # 5 | class packer::vsphere::fw { 6 | 7 | if ($facts['osfamily'] == 'RedHat') 8 | and ($facts['operatingsystemmajrelease'] in ['6', '7']) { 9 | class { 'firewall': 10 | ensure => stopped, 11 | } 12 | } 13 | 14 | # RHEL 8 comes with firewalld, we need this specific declaration because puppetlabs-firewall only manages iptables 15 | if ($facts['osfamily'] == 'RedHat') 16 | and ($facts['operatingsystemmajrelease'] in ['8', '9']) { 17 | service { 'firewalld': 18 | ensure => stopped, 19 | enable => false 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /manifests/modules/packer/manifests/vsphere/updates.pp: -------------------------------------------------------------------------------- 1 | # == Class: packer::updates 2 | # 3 | # A define that manages puppet modules 4 | # 5 | class packer::vsphere::updates { 6 | $linux_pkgs = [ 7 | 'bash', 8 | 'openssl', 9 | ] 10 | 11 | $debian_pkgs = [ 12 | 'libc6', 13 | 'openssh-client', 14 | 'apt', 15 | ] 16 | 17 | $redhat_pkgs = [ 18 | # 'kernel', 19 | 'glibc', 20 | 'openssh', 21 | ] 22 | 23 | $suse_pkgs = [ 24 | 'glibc', 25 | 'kernel', 26 | ] 27 | 28 | $solaris_pkgs = [ 29 | 'openssh', 30 | 'kernel', 31 | ] 32 | 33 | if $facts['osfamily'] == 'Debian' { 34 | $pkgs_to_update = $linux_pkgs + $debian_pkgs 35 | } elsif $::osfamily == 'Redhat' { 36 | $pkgs_to_update = $linux_pkgs + $redhat_pkgs 37 | } elsif $::osfamily == 'Suse' { 38 | $pkgs_to_update = $linux_pkgs + $suse_pkgs 39 | } elsif $::osfamily == 'Solaris'{ 40 | $pkgs_to_update = $linux_pkgs + $solaris_pkgs 41 | } 42 | # Macos does not install any of the packages 43 | if $facts['osfamily'] != 'Darwin' { 44 | package { $pkgs_to_update: ensure => latest; } 45 | } 46 | if $facts['osfamily'] == 'Suse' { 47 | file { '/etc/zypp/locks': 48 | ensure => absent 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /manifests/modules/packer/templates/vsphere/debian.rb.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/ruby 2 | 3 | hostname = `vmtoolsd --cmd "info-get guestinfo.hostname"` 4 | 5 | hostname = hostname.chomp 6 | 7 | puts "Nice to meet you, my VM name is '#{hostname}'." 8 | 9 | puts "\n" 10 | 11 | puts '- Setting local hostname...' 12 | 13 | File.open('/etc/hostname', 'w') do |f| 14 | f.write(hostname) 15 | end 16 | 17 | Kernel.system('hostname -F /etc/hostname') 18 | 19 | dhc = File.read('/etc/dhcp/dhclient.conf') 20 | 21 | File.open('/etc/dhcp/dhclient.conf', 'w') do |f| 22 | dhc.gsub!(/^(#send host-name.*)/, "send host-name \"#{hostname}\";") 23 | f.write(dhc) 24 | end 25 | 26 | puts '- Re-obtaining DHCP lease...' 27 | 28 | <% if ['11'].include? @operatingsystemmajrelease-%> 29 | Kernel.system('/usr/bin/systemctl restart networking') 30 | <% else -%> 31 | Kernel.system('/etc/init.d/networking restart') 32 | Kernel.system('dhclient eth0') 33 | <% end -%> 34 | 35 | puts '- Cleaning up...' 36 | 37 | Kernel.system('rm /etc/vsphere-bootstrap.rb') 38 | Kernel.system('echo "exit 0" > /etc/rc.local') 39 | 40 | puts "\n" 41 | 42 | puts 'Done!' 43 | -------------------------------------------------------------------------------- /manifests/modules/packer/templates/vsphere/local.localhost.startup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label local.localhost.startup 6 | Disabled 7 | RunAtLoad 8 | KeepAlive 9 | LaunchOnlyOnce 10 | ProgramArguments 11 | 12 | /etc/rc.local 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /manifests/modules/packer/templates/vsphere/osx.rb.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/ruby 2 | 3 | hostname = `"/Library/Application Support/VMware Tools/vmware-tools-daemon" --cmd "info-get guestinfo.hostname"` 4 | 5 | hostname = hostname.chomp 6 | 7 | puts "Nice to meet you, my VM name is '#{hostname}'." 8 | 9 | puts "\n" 10 | 11 | puts '- Setting local hostname...' 12 | 13 | hostnamecmd = "/usr/sbin/scutil --set HostName #{hostname}" 14 | computernamecmd = "/usr/sbin/scutil --set ComputerName #{hostname}" 15 | localhostnamecmd = "/usr/sbin/scutil --set LocalHostName #{hostname}" 16 | Kernel.system(hostnamecmd) 17 | Kernel.system(computernamecmd) 18 | Kernel.system(localhostnamecmd) 19 | 20 | puts '- Re-obtaining DHCP lease...' 21 | 22 | Kernel.system('/usr/sbin/ipconfig set en0 none') 23 | Kernel.system('/usr/sbin/ipconfig set en0 dhcp') 24 | 25 | puts '- Cleaning up...' 26 | 27 | Kernel.system('rm -f /Library/LaunchDaemons/local.localhost.startup.plist') 28 | Kernel.system('rm -f /etc/rc.local') 29 | 30 | puts "\n" 31 | 32 | puts 'Done!' 33 | -------------------------------------------------------------------------------- /manifests/modules/packer/templates/vsphere/rc.local: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | if [[ $OSTYPE == darwin* ]]; then 4 | . /etc/rc.common 5 | 6 | CheckForNetwork 7 | 8 | while [ "${NETWORKUP}" != "-YES-" ] 9 | do 10 | sleep 5 11 | NETWORKUP= 12 | CheckForNetwork 13 | done 14 | fi 15 | ( /etc/vsphere-bootstrap.rb ) 2>&1 | /usr/bin/tee -a /tmp/vsphere-bootstrap.log 16 | 17 | exit 0 18 | -------------------------------------------------------------------------------- /manifests/modules/packer/templates/vsphere/sles.rb.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/ruby 2 | 3 | 4 | hostname = `vmtoolsd --cmd "info-get guestinfo.hostname"` 5 | 6 | hostname = hostname.chomp 7 | 8 | puts "Nice to meet you, my VM name is '#{hostname}'." 9 | 10 | puts "\n" 11 | 12 | puts '- Setting local hostname...' 13 | 14 | File.open('/etc/HOSTNAME', 'w') do |f| 15 | f.write(hostname) 16 | end 17 | 18 | 19 | 20 | puts '- Re-obtaining DHCP lease...' 21 | <% if ['11.4'].include? @operatingsystemrelease -%> 22 | Kernel.system("/bin/hostname '#{hostname}'") 23 | Kernel.system('/etc/init.d/network restart') 24 | <% else %> 25 | Kernel.system('systemctl restart wicked.service') 26 | Kernel.system("hostnamectl set-hostname #{hostname}") 27 | <% end %> 28 | puts '- Cleaning up...' 29 | 30 | Kernel.system('rm /etc/vsphere-bootstrap.rb') 31 | 32 | <% if ['15.0'].include? @operatingsystemrelease -%> 33 | # Disable the oneshot service that runs this script: 34 | Kernel.system('/bin/systemctl disable vsphere.bootstrap.service') 35 | <% else -%> 36 | # With NetworkManager, /etc/rc.local is what runs this script; Make it a noop after the first run: 37 | Kernel.system('echo "exit 0" > /etc/rc.local') 38 | <% end -%> 39 | 40 | puts "\n" 41 | 42 | puts 'Done!' 43 | -------------------------------------------------------------------------------- /manifests/modules/packer/templates/vsphere/solaris.rb.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/ruby 2 | 3 | 4 | hostname = `vmtoolsd --cmd "info-get guestinfo.hostname"` 5 | 6 | hostname = hostname.chomp 7 | 8 | puts "Nice to meet you, my VM name is '#{hostname}'." 9 | 10 | puts "\n" 11 | 12 | puts '- Setting local hostname...' 13 | 14 | Kernel.system("svccfg -s system/identity:node setprop config/nodename=\"#{hostname}\"") 15 | 16 | Kernel.system("svcadm refresh system/identity:node") 17 | Kernel.system("svcadm restart system/identity:node") 18 | 19 | puts '- Re-obtaining DHCP lease...' 20 | Kernel.system("ifconfig net0 dhcp release && ifconfig net0 dhcp start") 21 | 22 | Kernel.system("ipadm delete-addr -r net0/v4 || true") 23 | Kernel.system("ipadm delete-addr -r net0/v4a || true") 24 | Kernel.system("ipadm create-addr -T dhcp -h #{hostname} net0/v4") 25 | 26 | # /etc/rc.d/rc.local is what runs this script; Make 27 | # it a noop after the first run: 28 | Kernel.system('rm /etc/vsphere-bootstrap.rb') 29 | Kernel.system('echo "exit 0" > /etc/init.d/rc.local') 30 | 31 | -------------------------------------------------------------------------------- /manifests/modules/packer/templates/vsphere/vsphere.bootstrap.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=puppetlabs-packer vsphere bootstrap script 3 | 4 | [Service] 5 | Type=oneshot 6 | ExecStart=/etc/vsphere-bootstrap.rb 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /manifests/vagrant/nocm.pp: -------------------------------------------------------------------------------- 1 | include packer::vagrant 2 | -------------------------------------------------------------------------------- /manifests/vagrant/puppet.pp: -------------------------------------------------------------------------------- 1 | include packer::puppet 2 | include packer::vagrant 3 | -------------------------------------------------------------------------------- /manifests/vsphere/nocm.pp: -------------------------------------------------------------------------------- 1 | include packer::vsphere 2 | -------------------------------------------------------------------------------- /scripts/cleanup-aio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # AIO puppet-agent is currently used to provision nocm and puppet boxes. 4 | # This script cleans up directories that may be left around 5 | # as part of that process. 6 | 7 | # Uninstall the AIO 8 | if [ -n "${PC_REPO}" ] && [ "${PC_REPO}" != " " ]; then 9 | if type pkg >/dev/null ; then 10 | # Uninstall for Solaris using PC_REPO 11 | pkg uninstall /system/management/puppet* 12 | # Uninstall hiera 13 | pkg uninstall pkg://solaris/library/ruby/hiera 14 | fi 15 | fi 16 | 17 | if [[ ${PUPPET_AIO} == *".rpm"* ]] ; then 18 | rpm -e puppet-agent 19 | elif [[ ${PUPPET_AIO} == *".deb"* ]] ; then 20 | dpkg -P puppet-agent 21 | elif [[ ${PUPPET_AIO} == *".dmg"* ]] ; then 22 | # Uninstall puppet from macos 23 | rm -rf /var/log/puppetlabs 24 | rm -rf /var/run/puppetlabs 25 | pkgutil --forget com.puppetlabs.puppet-agent 26 | launchctl remove puppet 27 | rm -rf /Library/LaunchDaemons/com.puppetlabs.puppet.plist 28 | launchctl remove pxp-agent 29 | rm -rf /Library/LaunchDaemons/com.puppetlabs.pxp-agent.plist 30 | elif [[ ${PUPPET_AIO} == *".p5p" ]]; then 31 | # Uninstall puppet from Solaris using PUPPET_AIO 32 | pkg uninstall puppet-agent 33 | else 34 | echo "Unsupported AIO package format" >&2 35 | exit 1 36 | fi 37 | # Remove any Puppet-related files and directories 38 | rm -rf /etc/puppetlabs 39 | rm -rf /opt/puppetlabs 40 | -------------------------------------------------------------------------------- /scripts/cleanup-ec2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sed -i "s/disable_root: true/disable_root: 0/" /etc/cloud/cloud.cfg 4 | sed -i "s/disable_root: 1/disable_root: 0/" /etc/cloud/cloud.cfg 5 | if ! [ -d /usr/local/bin ]; 6 | then 7 | mkdir /usr/local/bin 8 | fi 9 | rm -rf /tmp/* 10 | cat /dev/null > /var/log/wtmp 11 | rm /root/.ssh/authorized_keys 12 | -------------------------------------------------------------------------------- /scripts/cleanup-packer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Remove Packer-related files and directories 4 | rm -rf /tmp/packer-puppet-masterless 5 | -------------------------------------------------------------------------------- /scripts/cleanup-puppet.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # PE is currently used to provision nocm and puppet boxes. 4 | # This script cleans up directories that may be left around 5 | # as part of that process. 6 | 7 | # Unmount NFS share if PUPPET_NFS provided 8 | if [ -n "${PUPPET_NFS}" ]; then 9 | umount -l /opt/puppet 10 | fi 11 | 12 | # perform an uninstall 13 | if [ -n "${PE_URL}" ]; then 14 | cd `ls -d puppet*` 15 | ./puppet-enterprise-uninstaller -a /tmp/answers -y -p -d 16 | rm /tmp/answers 17 | rm -rf ~/puppet-enterprise* 18 | rm ~/pe.tar.gz 19 | fi 20 | 21 | # Only remove /etc/puppetlabs on -nocm boxes 22 | if [[ ${PACKER_BUILD_NAME} =~ .*-nocm ]]; then 23 | rm -rf /etc/puppetlabs 24 | fi 25 | 26 | # Cleanup if installed from PE tar ball 27 | if [[ -n ${PE_URL} ]]; then 28 | rm pe.tar.gz 29 | fi 30 | 31 | # Remove other Puppet-related files and directories 32 | rm -rf /opt/puppet 33 | rm -rf /var/cache/yum/puppetdeps 34 | rm -rf /var/opt/lib/pe-puppet 35 | rm -rf /var/opt/puppetlabs 36 | -------------------------------------------------------------------------------- /scripts/cleanup-scrub.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $OSTYPE == darwin* ]]; then 4 | # Turn off hibernation and get rid of the sleepimage 5 | pmset hibernatemode 0 6 | rm -f /var/vm/sleepimage 7 | MACOS_VERS=$(sw_vers -productVersion | awk -F "." '{print $1}') 8 | if [ "$MACOS_VERS" -lt 11 ] || $(csrutil status | grep -q disabled); then 9 | launchctl unload /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist 10 | sleep 5 11 | fi 12 | rm -rf /private/var/vm/swap* 13 | dd if=/dev/zero of=/EMPTY bs=1000000 14 | rm -rf /EMPTY 15 | sync; 16 | fi 17 | 18 | # Clear wtmp 19 | cat /dev/null > /var/log/wtmp 20 | 21 | # Zero disk 22 | dd if=/dev/zero of=/EMPTY bs=1M 23 | rm -rf /EMPTY 24 | 25 | # Remove this script 26 | rm -f /tmp/script.sh 27 | -------------------------------------------------------------------------------- /scripts/noop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo 'An example custom provisioning script that does nothing.' 4 | echo 'Override the custom_provisioning_script variable to use a different script.' 5 | echo "Override the custom_provisioning_env variable to modify the ENV vars. FOO=${FOO} BAR=${BAR}" 6 | -------------------------------------------------------------------------------- /templates/alma/8.4/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | # autopart only allows for 50GB on / and gives the rest to /home, 19 | # so we have to manually partition 20 | part pv.008002 --size=1 --grow --ondisk=sda 21 | volgroup VolGroup --pesize=4096 pv.008002 22 | logvol swap --name=vl_swap --vgname=VolGroup --size=8192 --maxsize=8192 23 | logvol / --name=vl_root --vgname=VolGroup --fstype=ext4 --grow --size=1 24 | part /boot --fstype=ext4 --size=1024 25 | 26 | auth --useshadow --enablemd5 27 | firstboot --disabled 28 | reboot --eject 29 | 30 | %packages --ignoremissing 31 | @core 32 | bzip2 33 | kernel-devel 34 | kernel-headers 35 | gcc 36 | make 37 | net-tools 38 | patch 39 | perl 40 | curl 41 | wget 42 | nfs-utils 43 | -ipw2100-firmware 44 | -ipw2200-firmware 45 | -ivtv-firmware 46 | %end 47 | -------------------------------------------------------------------------------- /templates/alma/8.4/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "almalinux-8-x86_64", 3 | "template_os" : "centos8_64Guest", 4 | "beakerhost" : "alma8-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/AlmaLinux-8.4-x86_64-dvd.iso", 7 | "iso_checksum" : "4dd2f7c558bfa34d9a5e71d5add2c77c59fdec58076678a381d9dfd0f9583a51", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "8168", 10 | "vmware_base_vmx_data_numvcpus" : "4", 11 | "puppet_aio" : "https://builds.delivery.puppetlabs.net/puppet-agent/7.11.0/artifacts/el/8/puppet7/x86_64/puppet-agent-7.11.0-1.el8.x86_64.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "iso_name" : "AlmaLinux-8.4-x86_64-dvd.iso" 14 | } 15 | -------------------------------------------------------------------------------- /templates/alma/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : " inst.text inst.ks=http://%s/ks.cfg", 3 | "disk_size" : "71680", 4 | "floppy_dirs" : "", 5 | "floppy_files" : "", 6 | "http_directory" : "../common/files/", 7 | "libvirt_disk_interface" : "virtio-scsi", 8 | "libvirt_net_device" : "virtio-net-pci", 9 | "libvirt_base_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 10 | "virtualbox_base_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 11 | "vagrant_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 12 | "vmware_base_vmx_data_ethernet0_virtualDev" : "e1000", 13 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network puppetlabs-firewall" 14 | } 15 | -------------------------------------------------------------------------------- /templates/centos/6.8/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | yum-autoupdate 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | -------------------------------------------------------------------------------- /templates/centos/6.8/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : " text ks=floppy " 3 | } 4 | -------------------------------------------------------------------------------- /templates/centos/6.8/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-6.8-i386", 3 | "template_os" : "centos6Guest", 4 | "beakerhost" : "centos6-32", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/CentOS-6.8-i386-bin-DVD1.iso", 7 | "iso_checksum" : "720d185fdf063383a4471657076b72fc162d3c3c3bca2e5e5ae13a25b3046519", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "2048", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/i386/puppet-agent-1.10.10-1.el6.i386.rpm", 12 | "iso_name" : "CentOS-6.8-i386-bin-DVD1.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/centos/6.8/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-6.8-x86_64", 3 | "template_os" : "centos6_64Guest", 4 | "beakerhost" : "centos6-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/CentOS-6.8-x86_64-bin-DVD1.iso", 7 | "iso_checksum" : "1dda55622614a8b43b448a72f87d6cb7f79de1eff49ee8c5881a7d9db28d4e35", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "6144", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/x86_64/puppet-agent-1.10.10-1.el6.x86_64.rpm", 12 | "iso_name" : "CentOS-6.8-x86_64-bin-DVD1.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/centos/6.9/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | yum-autoupdate 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | 43 | -------------------------------------------------------------------------------- /templates/centos/6.9/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : " text ks=floppy " 3 | } 4 | -------------------------------------------------------------------------------- /templates/centos/6.9/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-6.9-i386", 3 | "template_os" : "centos6Guest", 4 | "beakerhost" : "centos6-32", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://ftp.belnet.be/mirror/ftp.centos.org/6.9/isos/i386/CentOS-6.9-i386-bin-DVD1.iso", 7 | "iso_checksum" : "0724a468ec0c4ac46ac6a1daba0273be697a37bb7f4e9fed8ad84ad270cdee2f", 8 | "iso_checksum_type" : "sha256", 9 | "docker_base_image" : "", 10 | "virtualbox_base_template_os" : "RedHat", 11 | "vmware_vsphere_nocm_vmx_data_memsize" : "2048", 12 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 13 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/i386/puppet-agent-1.10.10-1.el6.i386.rpm", 14 | "iso_name" : "CentOS-6.9-i386-bin-DVD1.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/centos/6.9/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-6.9-x86_64", 3 | "template_os" : "centos6_64Guest", 4 | "beakerhost" : "centos6-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://ftp.belnet.be/mirror/ftp.centos.org/6.9/isos/x86_64/CentOS-6.9-x86_64-bin-DVD1.iso", 7 | "iso_checksum" : "d27cf37a40509c17ad70f37bc743f038c1feba00476fe6b69682aa424c399ea6", 8 | "iso_checksum_type" : "sha256", 9 | "docker_base_image" : "centos:6.9", 10 | "virtualbox_base_template_os" : "RedHat_64", 11 | "vmware_vsphere_nocm_vmx_data_memsize" : "8168", 12 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 13 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/x86_64/puppet-agent-1.10.10-1.el6.x86_64.rpm", 14 | "iso_name" : "CentOS-6.9-x86_64-bin-DVD1.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/centos/7.0/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | network --device=ens33 --onboot=yes 7 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 8 | firewall --enabled --service=ssh 9 | authconfig --enableshadow --passalgo=sha512 10 | selinux --disabled 11 | timezone UTC 12 | bootloader --location=mbr 13 | 14 | text 15 | skipx 16 | zerombr 17 | 18 | clearpart --all --initlabel 19 | autopart 20 | 21 | auth --useshadow --enablemd5 22 | firstboot --disabled 23 | reboot --eject 24 | 25 | %packages --ignoremissing 26 | @core 27 | bzip2 28 | kernel-devel 29 | kernel-headers 30 | gcc 31 | make 32 | net-tools 33 | patch 34 | perl 35 | curl 36 | wget 37 | nfs-utils 38 | yum-autoupdate 39 | -ipw2100-firmware 40 | -ipw2200-firmware 41 | -ivtv-firmware 42 | %end 43 | 44 | -------------------------------------------------------------------------------- /templates/centos/7.0/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-7.0-x86_64", 3 | "template_os" : "centos7_64Guest", 4 | "beakerhost" : "centos7-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/CentOS-7.0-1406-x86_64-DVD.iso", 7 | "iso_checksum" : "713ea7847adcdd1700e92429f212721a", 8 | "iso_checksum_type" : "md5", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.8.3-1.el7.x86_64.rpm", 12 | "iso_name" : "CentOS-7.0-1406-x86_64-DVD.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/centos/7.2-mono-2018.1.15-preload/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | open-vm-tools 28 | kernel-devel 29 | kernel-headers 30 | gcc 31 | make 32 | net-tools 33 | patch 34 | perl 35 | curl 36 | wget 37 | nfs-utils 38 | yum-autoupdate 39 | -ipw2100-firmware 40 | -ipw2200-firmware 41 | -ivtv-firmware 42 | %end 43 | 44 | -------------------------------------------------------------------------------- /templates/centos/7.2-mono-2018.1.15-preload/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-7.2-mono-2018.1.15-preload-x86_64", 3 | "template_os" : "centos7_64Guest", 4 | "beakerhost" : "centos7-64", 5 | "version" : "0.0.14", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/CentOS-7-x86_64-DVD-1511.iso", 7 | "iso_checksum" : "907e5755f824c5848b9c8efbb484f3cd945e93faa024bad6ba875226f9683b16", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "6144", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.12-1.el7.x86_64.rpm", 12 | "required_modules" : "puppetlabs-stdlib saz-ssh puppetlabs-firewall", 13 | "iso_name" : "CentOS-7-x86_64-DVD-1511.iso", 14 | "custom_provisioning_env" : "VERSION=2018.1.15,PLATFORM=el-7-x86_64", 15 | "custom_provisioning_script" : "scripts/mono-preload.sh", 16 | "packer_vcenter_insecure" : "true" 17 | 18 | } 19 | -------------------------------------------------------------------------------- /templates/centos/7.2-tmpfs/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | open-vm-tools 28 | kernel-devel 29 | kernel-headers 30 | gcc 31 | make 32 | net-tools 33 | patch 34 | perl 35 | curl 36 | wget 37 | nfs-utils 38 | yum-autoupdate 39 | -ipw2100-firmware 40 | -ipw2200-firmware 41 | -ivtv-firmware 42 | %end 43 | 44 | %post --log=/root/ks-post.log 45 | systemctl enable tmp.mount 46 | %end 47 | -------------------------------------------------------------------------------- /templates/centos/7.2-tmpfs/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-7.2-tmpfs-x86_64", 3 | "template_os" : "centos7_64Guest", 4 | "beakerhost" : "centos7-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/CentOS-7-x86_64-DVD-1511.iso", 7 | "iso_checksum" : "907e5755f824c5848b9c8efbb484f3cd945e93faa024bad6ba875226f9683b16", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "6144", 10 | "vmware_base_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://builds.delivery.puppetlabs.net/puppet-agent/5.5.16/artifacts/el/7/puppet5/x86_64/puppet-agent-5.5.16-1.el7.x86_64.rpm", 12 | "vmware_base_required_modules" : "puppetlabs-stdlib saz-ssh puppetlabs-firewall", 13 | "iso_name" : "CentOS-7-x86_64-DVD-1511.iso" 14 | } 15 | -------------------------------------------------------------------------------- /templates/centos/7.2/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | yum-autoupdate 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | 43 | -------------------------------------------------------------------------------- /templates/centos/7.2/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-7.2-x86_64", 3 | "template_os" : "centos7_64Guest", 4 | "beakerhost" : "centos7-64", 5 | "version" : "0.0.6", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/CentOS-7-x86_64-DVD-1511.iso", 7 | "iso_checksum" : "907e5755f824c5848b9c8efbb484f3cd945e93faa024bad6ba875226f9683b16", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "6144", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.12-1.el7.x86_64.rpm", 12 | "required_modules" : "puppetlabs-stdlib saz-ssh puppetlabs-firewall", 13 | "iso_name" : "CentOS-7-x86_64-DVD-1511.iso" 14 | } 15 | -------------------------------------------------------------------------------- /templates/centos/7.3/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | yum-autoupdate 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | 43 | -------------------------------------------------------------------------------- /templates/centos/7.3/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-7.3-x86_64", 3 | "template_os" : "centos7_64Guest", 4 | "beakerhost" : "centos7-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://ftp.belnet.be/mirror/ftp.centos.org/7.3.1611/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso", 7 | "iso_checksum" : "c455ee948e872ad2194bdddd39045b83634e8613249182b88f549bb2319d97eb", 8 | "iso_checksum_type" : "sha256", 9 | "docker_base_image" : "centos:7.3.1611", 10 | "virtualbox_base_template_os" : "RedHat_64", 11 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 12 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 13 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.10-1.el7.x86_64.rpm", 14 | "iso_name" : "CentOS-7-x86_64-DVD-1611.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/centos/7.4/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | yum-autoupdate 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | 43 | -------------------------------------------------------------------------------- /templates/centos/7.4/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-7.4-x86_64", 3 | "template_os" : "centos7_64Guest", 4 | "beakerhost" : "centos7-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://centos.mirror.nucleus.be/7.4.1708/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso", 7 | "iso_checksum" : "ec7500d4b006702af6af023b1f8f1b890b6c7ee54400bb98cef968b883cd6546", 8 | "iso_checksum_type" : "sha256", 9 | "docker_base_image" : "centos:7.4.1708", 10 | "virtualbox_base_template_os" : "RedHat_64", 11 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 12 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 13 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.9-1.el7.x86_64.rpm", 14 | "iso_name" : "CentOS-7-x86_64-DVD-1708.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/centos/7.5/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp --device=eth0 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr --append=kpti 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | yum-autoupdate 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | 43 | -------------------------------------------------------------------------------- /templates/centos/7.5/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-7.5-x86_64", 3 | "template_os" : "centos7_64Guest", 4 | "beakerhost" : "centos7-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://centos.mirror.nucleus.be/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso", 7 | "iso_checksum" : "506e4e06abf778c3435b4e5745df13e79ebfc86565d7ea1e128067ef6b5a6345", 8 | "iso_checksum_type" : "sha256", 9 | "docker_base_image" : "centos:7.5.1804", 10 | "virtualbox_base_template_os" : "RedHat_64", 11 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 12 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 13 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.9-1.el7.x86_64.rpm", 14 | "iso_name" : "CentOS-7-x86_64-DVD-1804.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/centos/7.6/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp --device=eth0 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr --append=kpti 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | yum-autoupdate 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | 43 | -------------------------------------------------------------------------------- /templates/centos/7.6/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-7.6-x86_64", 3 | "template_os" : "centos7_64Guest", 4 | "beakerhost" : "centos7-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://centos.mirror.nucleus.be/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso", 7 | "iso_checksum" : "6d44331cc4f6c506c7bbe9feb8468fad6c51a88ca1393ca6b8b486ea04bec3c1", 8 | "iso_checksum_type" : "sha256", 9 | "docker_base_image" : "centos:7.6.1810", 10 | "virtualbox_base_template_os" : "RedHat_64", 11 | "vmware_vsphere_nocm_vmx_data_memsize" : "8168", 12 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 13 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.9-1.el7.x86_64.rpm", 14 | "iso_name" : "CentOS-7-x86_64-DVD-1810.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/centos/8.0-pdbpreload/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | # autopart only allows for 50GB on / and gives the rest to /home, 19 | # so we have to manually partition 20 | part pv.008002 --size=1 --grow --ondisk=sda 21 | volgroup VolGroup --pesize=4096 pv.008002 22 | logvol swap --name=vl_swap --vgname=VolGroup --size=8192 --maxsize=8192 23 | logvol / --name=vl_root --vgname=VolGroup --fstype=ext4 --grow --size=1 24 | part /boot --fstype=ext4 --size=1024 25 | 26 | auth --useshadow --enablemd5 27 | firstboot --disabled 28 | reboot --eject 29 | 30 | %packages --ignoremissing 31 | @core 32 | bzip2 33 | kernel-devel 34 | kernel-headers 35 | gcc 36 | make 37 | net-tools 38 | patch 39 | perl 40 | curl 41 | wget 42 | nfs-utils 43 | -ipw2100-firmware 44 | -ipw2200-firmware 45 | -ivtv-firmware 46 | %end 47 | -------------------------------------------------------------------------------- /templates/centos/8.0/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | # autopart only allows for 50GB on / and gives the rest to /home, 19 | # so we have to manually partition 20 | part pv.008002 --size=1 --grow --ondisk=sda 21 | volgroup VolGroup --pesize=4096 pv.008002 22 | logvol swap --name=vl_swap --vgname=VolGroup --size=8192 --maxsize=8192 23 | logvol / --name=vl_root --vgname=VolGroup --fstype=ext4 --grow --size=1 24 | part /boot --fstype=ext4 --size=1024 25 | 26 | auth --useshadow --enablemd5 27 | firstboot --disabled 28 | reboot --eject 29 | 30 | %packages --ignoremissing 31 | @core 32 | bzip2 33 | kernel-devel 34 | kernel-headers 35 | gcc 36 | make 37 | net-tools 38 | patch 39 | perl 40 | curl 41 | wget 42 | nfs-utils 43 | -ipw2100-firmware 44 | -ipw2200-firmware 45 | -ivtv-firmware 46 | %end 47 | -------------------------------------------------------------------------------- /templates/centos/8.0/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "centos-8-x86_64", 3 | "template_os" : "centos8_64Guest", 4 | "beakerhost" : "centos8-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/CentOS-8-x86_64-1905-dvd1.iso", 7 | "iso_checksum" : "ea17ef71e0df3f6bf1d4bf1fc25bec1a76d1f211c115d39618fe688be34503e8", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "8168", 10 | "vmware_base_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://builds.delivery.puppetlabs.net/puppet-agent/6.19.1/artifacts/el/8/puppet6/x86_64/puppet-agent-6.19.1-1.el8.x86_64.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "boot_command" : " inst.text inst.ks=http://%s/ks.cfg", 14 | "iso_name" : "CentOS-8-x86_64-1905-dvd1.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/centos/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "disk_size" : "71680", 3 | "floppy_dirs" : "", 4 | "floppy_files" : "../common/files/ks.cfg", 5 | "http_directory" : "../common/files/", 6 | "boot_command" : " inst.text inst.ks=hd:fd0:/ks.cfg", 7 | "libvirt_disk_interface" : "virtio-scsi", 8 | "libvirt_net_device" : "virtio-net-pci", 9 | "libvirt_base_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 10 | "virtualbox_base_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 11 | "vagrant_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 12 | "vmware_base_vmx_data_ethernet0_virtualDev" : "e1000", 13 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network puppetlabs-firewall" 14 | } 15 | -------------------------------------------------------------------------------- /templates/debian/10.0/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-10-i386", 3 | "template_os" : "debian10Guest", 4 | "beakerhost" : "debian10-32", 5 | "version" : "0.0.1", 6 | "iso_name" : "debian-buster-DI-alpha5-i386-netinst.iso", 7 | "vmware_base_vm_firmware" : "bios", 8 | "vmware_base_boot_wait" : "5s", 9 | "boot_command" : "install auto url=http://%s/preseed.cfg debian-installer=en_US locale=en_US keymap=us netcfg/get_domain=vm netcfg/get_hostname=localhost ", 10 | "puppet_aio" : "http://apt.puppetlabs.com/pool/stretch/puppet5/p/puppet-agent/puppet-agent_5.5.10-1stretch_i386.deb" 11 | } 12 | -------------------------------------------------------------------------------- /templates/debian/10.0/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-10-x86_64", 3 | "template_os" : "debian10_64Guest", 4 | "beakerhost" : "debian10-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic__local/iso/debian-10.0.0-amd64-netinst.iso", 7 | "iso_name" : "debian-10.0.0-amd64-netinst.iso", 8 | "vmware_base_vm_firmware" : "bios", 9 | "vmware_base_boot_wait" : "5s", 10 | "boot_command" : "install auto url=http://%s/preseed.cfg debian-installer=en_US locale=en_US keymap=us netcfg/get_domain=vm netcfg/get_hostname=localhost ", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/stretch/puppet5/p/puppet-agent/puppet-agent_5.5.10-1stretch_amd64.deb" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /templates/debian/11.0/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-11-x86_64", 3 | "template_os" : "debian10_64Guest", 4 | "beakerhost" : "debian11-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/debian-11.0.0-amd64-DVD-1.iso", 7 | "iso_name" : "debian-11.0.0-amd64-DVD-1.iso", 8 | "iso_checksum_type" : "sha256", 9 | "iso_checksum" : "89699678ac432ec8f43afc5fc1e1f088b1651f436520cc46dc79c1e14af6b816", 10 | "vmware_base_vm_firmware" : "bios", 11 | "vmware_base_boot_wait" : "5s", 12 | "puppet_aio" : "http://apt.puppetlabs.com/pool/buster/puppet6/p/puppet-agent/puppet-agent_6.22.1-1buster_amd64.deb" 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /templates/debian/7.8/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-7.8-i386", 3 | "template_os" : "debian7Guest", 4 | "beakerhost" : "debian7-32", 5 | "version" : "0.0.5", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/debian-7.8.0-i386-CD-1.iso", 7 | "iso_checksum" : "3bc593912773795dce735dfbbecd3cb2", 8 | "iso_checksum_type" : "md5", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "2048", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/wheezy/PC1/p/puppet-agent/puppet-agent_1.8.2-1wheezy_i386.deb", 12 | "iso_name" : "debian-7.8.0-i386-CD-1.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/debian/7.8/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-7.8-x86_64", 3 | "template_os" : "debian7_64Guest", 4 | "beakerhost" : "debian7-64", 5 | "version" : "0.0.5", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/debian-7.8.0-amd64-CD-1.iso", 7 | "iso_checksum" : "0e3d2e7bc3cd7c97f76a4ee8fb335e43", 8 | "iso_checksum_type" : "md5", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/wheezy/PC1/p/puppet-agent/puppet-agent_1.8.2-1wheezy_amd64.deb", 12 | "iso_name" : "debian-7.8.0-amd64-CD-1.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/debian/8.11/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : "install auto url=%s/preseed.cfg debian-installer=en_US locale=en_US keymap=us netcfg/get_domain=vm netcfg/get_hostname=localhost " 3 | } 4 | -------------------------------------------------------------------------------- /templates/debian/8.11/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-8-i386", 3 | "template_os" : "debian8Guest", 4 | "beakerhost" : "debian8-32", 5 | "version" : "0.0.6", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic__iso/iso/debian-8.11.0-i386-CD-1.iso", 7 | "iso_checksum" : "4c56c06d2ba489409f50cbf073bf3656460336dd805b0245f9b419585680b7cd", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "2048", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/stretch/puppet5/p/puppet-agent/puppet-agent_5.5.10-1stretch_i386.deb", 12 | "iso_name" : "debian-8.11.0-i386-CD-1.iso" 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /templates/debian/8.11/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-8-x86_64", 3 | "template_os" : "debian8_64Guest", 4 | "beakerhost" : "debian8-64", 5 | "version" : "0.0.8", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic__local/iso/debian-8.11.0-amd64-CD-1.iso", 7 | "iso_checksum" : "166868369a8094a69b2766b46a9a28869ac921bac5697e525d0ec5be14a9d373", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 11 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 12 | "puppet_aio" : "http://apt.puppetlabs.com/pool/stretch/puppet5/p/puppet-agent/puppet-agent_5.5.10-1stretch_amd64.deb", 13 | "iso_name" : "debian-8.11.0-amd64-CD-1.iso", 14 | "vmware_base_vmx_data_ethernet0_virtualDev" : "e1000" 15 | 16 | } 17 | -------------------------------------------------------------------------------- /templates/debian/9.0/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-9.0-i386", 3 | "template_os" : "debian9Guest", 4 | "beakerhost" : "debian9-32", 5 | "version" : "0.0.4", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/debian-9.0.0-i386-netinst.iso", 7 | "iso_checksum" : "3bf78f7b003203a6b771b05fa1790e74ee3ea15d6245a01683f90c02b95c0315", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/stretch/PC1/p/puppet-agent/puppet-agent_1.10.6-1stretch_i386.deb", 12 | "iso_name" : "debian-9.0.0-i386-netinst.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/debian/9.0/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "debian-9.0-x86_64", 3 | "template_os" : "debian9_64Guest", 4 | "beakerhost" : "debian9-64", 5 | "version" : "0.0.4", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/debian-9.0.0-amd64-netinst.iso", 7 | "iso_checksum" : "9d98f339016dc2a3998881949a8f0678baede26b5106f18ef1168d7e13606773", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/stretch/PC1/p/puppet-agent/puppet-agent_1.10.6-1stretch_amd64.deb", 12 | "iso_name" : "debian-9.0.0-amd64-netinst.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/debian/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : "install auto url=http://%s/preseed.cfg debian-installer=en_US locale=en_US keymap=us netcfg/get_domain=vm netcfg/get_hostname=localhost ", 3 | "floppy_dirs" : "", 4 | "floppy_files" : "", 5 | "http_directory" :"../common/files", 6 | "inject_http_seed_in_boot_command" : "true", 7 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network puppetlabs-apt" 8 | } 9 | -------------------------------------------------------------------------------- /templates/fedora/32/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp --device=eth0 6 | repo --name=updates 7 | rootpw puppet 8 | firewall --disabled 9 | authconfig --enableshadow --passalgo=sha512 10 | selinux --disabled 11 | timezone UTC 12 | bootloader --location=mbr 13 | text 14 | skipx 15 | zerombr 16 | clearpart --all --initlabel 17 | autopart 18 | auth --useshadow --enablemd5 19 | firstboot --disabled 20 | reboot 21 | 22 | %packages --ignoremissing 23 | bzip2 24 | kernel-devel 25 | kernel-headers 26 | tar 27 | wget 28 | nfs-utils 29 | net-tools 30 | libxcrypt-compat 31 | -plymouth 32 | -plymouth-core-libs 33 | %end 34 | 35 | %post 36 | echo PermitRootLogin yes >> /etc/ssh/sshd_config 37 | echo zchunk=False >> /etc/dnf/dnf.conf 38 | %end 39 | -------------------------------------------------------------------------------- /templates/fedora/32/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "fedora-32-x86_64", 3 | "template_os" : "fedora64Guest", 4 | "beakerhost" : "fedora32-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/Fedora-Server-dvd-x86_64-32-1.6.iso", 7 | "iso_checksum" : "cd2aefdbe1b5042865a39c49d32f5d21a9537c719aa87dde34d08ca06bc6681c", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "floppy_files" : "../files/ks.cfg", 12 | "puppet_aio" : "http://yum.puppetlabs.com/puppet6/fedora/31/x86_64/puppet-agent-6.16.0-1.fc31.x86_64.rpm", 13 | "iso_name" : "Fedora-Server-dvd-x86_64-32-1.6.iso", 14 | "inject_http_seed_in_boot_command" : "true", 15 | "boot_command" : " inst.text inst.ks=http://%s/ks.cfg ", 16 | "http_directory" : "../files/" 17 | } 18 | -------------------------------------------------------------------------------- /templates/fedora/34/files/ks.cfg: -------------------------------------------------------------------------------- 1 | cdrom 2 | lang en_US.UTF-8 3 | keyboard us 4 | network --bootproto=dhcp --device=ens192 5 | repo --name=updates 6 | rootpw puppet 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | text 13 | skipx 14 | zerombr 15 | clearpart --all --initlabel 16 | autopart 17 | auth --useshadow --enablemd5 18 | firstboot --disabled 19 | reboot 20 | 21 | %packages --ignoremissing 22 | bzip2 23 | kernel-devel 24 | kernel-headers 25 | tar 26 | wget 27 | nfs-utils 28 | net-tools 29 | libxcrypt-compat 30 | -plymouth 31 | -plymouth-core-libs 32 | %end 33 | 34 | %post 35 | echo PermitRootLogin yes >> /etc/ssh/sshd_config 36 | echo zchunk=False >> /etc/dnf/dnf.conf 37 | [ -h /etc/resolv.conf ] && rm -f /etc/resolv.conf && touch /etc/resolv.conf && /bin/systemctl restart NetworkManager 38 | %end 39 | 40 | services --disabled=systemd-resolved -------------------------------------------------------------------------------- /templates/fedora/34/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "fedora-34-x86_64", 3 | "template_os" : "fedora64Guest", 4 | "beakerhost" : "fedora34-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/Fedora-Server-dvd-x86_64-34-1.2.iso", 7 | "iso_checksum" : "cd2aefdbe1b5042865a39c49d32f5d21a9537c719aa87dde34d08ca06bc6681c", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "floppy_files" : "../files/ks.cfg", 12 | "puppet_aio" : "http://yum.puppetlabs.com/puppet6/fedora/32/x86_64/puppet-agent-6.22.1-1.fc32.x86_64.rpm", 13 | "iso_name" : "Fedora-Server-dvd-x86_64-34-1.2.iso", 14 | "inject_http_seed_in_boot_command" : "true", 15 | "boot_command" : " inst.text inst.ks=http://%s/ks.cfg ", 16 | "http_directory" : "../files/" 17 | } 18 | -------------------------------------------------------------------------------- /templates/fedora/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw puppet 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | text 13 | skipx 14 | zerombr 15 | clearpart --all --initlabel 16 | autopart 17 | auth --useshadow --enablemd5 18 | firstboot --disabled 19 | reboot 20 | 21 | %packages --ignoremissing 22 | bzip2 23 | kernel-devel 24 | kernel-headers 25 | tar 26 | wget 27 | nfs-utils 28 | net-tools 29 | -linux-firmware 30 | -plymouth 31 | -plymouth-core-libs 32 | %end 33 | 34 | %post 35 | %end 36 | -------------------------------------------------------------------------------- /templates/fedora/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "floppy_dirs" : "", 3 | "floppy_files" : "../../common/files/ks.cfg", 4 | "boot_command" : " inst.text inst.ks=hd:fd0:/ks.cfg ", 5 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network" 6 | } 7 | -------------------------------------------------------------------------------- /templates/macos/common/files/base/add-network-interface-detection.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # from https://github.com/timsutton/osx-vm-templates 4 | 5 | # This script adds a Mac OS Launch Daemon, which runs every time the 6 | # machine is booted. The daemon will re-detect the attached network 7 | # interfaces. If this is not done, network devices may not work. 8 | PLIST=/Library/LaunchDaemons/com.github.timsutton.osx-vm-templates.detectnewhardware.plist 9 | cat < "${PLIST}" 10 | 11 | 12 | 13 | 14 | Label 15 | com.github.timsutton.osx-vm-templates.detectnewhardware 16 | ProgramArguments 17 | 18 | /usr/sbin/networksetup 19 | -detectnewhardware 20 | 21 | RunAtLoad 22 | 23 | 24 | 25 | EOF 26 | 27 | # These should be already set as follows, but since they're required 28 | # in order to load properly, we set them explicitly. 29 | /bin/chmod 644 "${PLIST}" 30 | /usr/sbin/chown root:wheel "${PLIST}" 31 | -------------------------------------------------------------------------------- /templates/macos/common/files/base/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -eux 2 | 3 | # Eject the installer disc 4 | drutil eject; 5 | -------------------------------------------------------------------------------- /templates/macos/common/files/base/set_kcpassword.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Port of Gavin Brock's Perl kcpassword generator to Python, by Tom Taylor 4 | # . 5 | # Perl version: http://www.brock-family.org/gavin/perl/kcpassword.html 6 | 7 | import sys 8 | import os 9 | 10 | def kcpassword(passwd): 11 | # The magic 11 bytes - these are just repeated 12 | # 0x7D 0x89 0x52 0x23 0xD2 0xBC 0xDD 0xEA 0xA3 0xB9 0x1F 13 | key = [125,137,82,35,210,188,221,234,163,185,31] 14 | key_len = len(key) 15 | 16 | passwd = [ord(x) for x in list(passwd)] 17 | # pad passwd length out to an even multiple of key length 18 | r = len(passwd) % key_len 19 | if (r > 0): 20 | passwd = passwd + [0] * (key_len - r) 21 | 22 | for n in range(0, len(passwd), len(key)): 23 | ki = 0 24 | for j in range(n, min(n+len(key), len(passwd))): 25 | passwd[j] = passwd[j] ^ key[ki] 26 | ki += 1 27 | 28 | passwd = [chr(x) for x in passwd] 29 | return "".join(passwd) 30 | 31 | if __name__ == "__main__": 32 | passwd = kcpassword(sys.argv[1]) 33 | fd = os.open('/etc/kcpassword', os.O_WRONLY | os.O_CREAT, 0o600) 34 | file = os.fdopen(fd, 'w') 35 | file.write(passwd) 36 | file.close() 37 | -------------------------------------------------------------------------------- /templates/macos/common/files/base/shrink.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # from https://github.com/timsutton/osx-vm-templates 4 | 5 | OSX_VERS=$(sw_vers -productVersion | awk -F "." '{print $2}') 6 | 7 | # Turn off hibernation and get rid of the sleepimage 8 | pmset hibernatemode 0 9 | rm -f /var/vm/sleepimage 10 | 11 | # Stop the pager process and drop swap files. These will be re-created on boot. 12 | # Starting with El Cap we can only stop the dynamic pager if SIP is disabled. 13 | if [ "$OSX_VERS" -lt 11 ] || $(csrutil status | grep -q disabled); then 14 | launchctl unload /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist 15 | sleep 5 16 | fi 17 | rm -rf /private/var/vm/swap* 18 | 19 | dd if=/dev/zero of=/EMPTY bs=1000000 20 | rm -f /EMPTY; 21 | sync; 22 | 23 | # VMware Fusion specific items 24 | #if [ -e .vmfusion_version ] || [[ "$PACKER_BUILDER_TYPE" == vmware* ]]; then 25 | # # Shrink the disk 26 | # /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink / 27 | #fi 28 | -------------------------------------------------------------------------------- /templates/macos/common/files/base/vmware.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # from https://github.com/timsutton/osx-vm-templates 4 | 5 | TOOLS_PATH="/Users/$USERNAME/darwin.iso" 6 | # VMware Fusion specific items 7 | if [ -e .vmfusion_version ] || [[ "$PACKER_BUILDER_TYPE" == vmware* ]]; then 8 | if [ ! -e "$TOOLS_PATH" ]; then 9 | echo "Couldn't locate uploaded tools iso at $TOOLS_PATH!" 10 | exit 1 11 | fi 12 | 13 | TMPMOUNT=`/usr/bin/mktemp -d /tmp/vmware-tools.XXXX` 14 | hdiutil attach "$TOOLS_PATH" -mountpoint "$TMPMOUNT" 15 | 16 | INSTALLER_PKG="$TMPMOUNT/Install VMware Tools.app/Contents/Resources/VMware Tools.pkg" 17 | if [ ! -e "$INSTALLER_PKG" ]; then 18 | echo "Couldn't locate VMware installer pkg at $INSTALLER_PKG!" 19 | exit 1 20 | fi 21 | 22 | echo "Installing VMware tools.." 23 | installer -pkg "$TMPMOUNT/Install VMware Tools.app/Contents/Resources/VMware Tools.pkg" -target / 24 | 25 | # This usually fails 26 | hdiutil detach "$TMPMOUNT" 27 | rm -rf "$TMPMOUNT" 28 | rm -f "$TOOLS_PATH" 29 | 30 | # Point Linux shared folder root to that used by OS X guests, 31 | # useful for the Hashicorp vmware_fusion Vagrant provider plugin 32 | mkdir /mnt 33 | ln -sf /Volumes/VMware\ Shared\ Folders /mnt/hgfs 34 | fi 35 | -------------------------------------------------------------------------------- /templates/macos/common/files/base/xcode-cli-tools.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # from https://github.com/timsutton/osx-vm-templates 4 | 5 | if [[ ! "$INSTALL_XCODE_CLI_TOOLS" =~ ^(true|yes|on|1|TRUE|YES|ON])$ ]]; then 6 | exit 7 | fi 8 | 9 | # Create the placeholder file that's checked by CLI updates' .dist code in Apple's SUS catalog 10 | PLACEHOLDER="/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress" 11 | touch $PLACEHOLDER 12 | 13 | # Find the CLI Tools update. 14 | # The softwareupdate -l output looks something like this: 15 | # 16 | # * Command Line Tools (macOS El Capitan version 10.11) for Xcode-8.2 17 | # Command Line Tools (macOS El Capitan version 10.11) for Xcode (8.2), 150374K [recommended] 18 | # * Command Line Tools (macOS High Sierra version 10.13) for Xcode-9.2 19 | # Command Line Tools (macOS High Sierra version 10.13) for Xcode (9.2), 177376K [recommended] 20 | # * macOS 10.13.2 Update Combo-10.13.2 21 | # macOS 10.13.2 Update Combo (10.13.2), 2101124K [recommended] [restart] 22 | # 23 | # There may be multiple versions of the command line tools available, as seen 24 | # above - installing only the latest version seems to be sufficient. 25 | PROD=$(softwareupdate -l | grep "\*.*Command Line" | tail -n 1 | awk -F"*" '{print $2}' | sed -e 's/^ *//' | tr -d '\n') 26 | 27 | # Install it and clean up 28 | softwareupdate -i "$PROD" --verbose 29 | rm $PLACEHOLDER 30 | -------------------------------------------------------------------------------- /templates/macos/common/files/pooler-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Runs the pooler setup scripts; Ensure that the entire pooler/ directory's 3 | # contents are copied into the target VM's /private/tmp/ directory first. 4 | 5 | mv /private/tmp/vsphere-bootstrap.rb /etc/vsphere-bootstrap.rb && chmod 755 /etc/vsphere-bootstrap.rb 6 | mv /private/tmp/rc.local /etc/rc.local && chmod 755 /etc/rc.local 7 | mv /private/tmp/local.localhost.startup.plist /Library/LaunchDaemons/local.localhost.startup.plist \ 8 | && chmod 644 /Library/LaunchDaemons/local.localhost.startup.plist 9 | mkdir /var/root/.ssh && chmod 700 /var/root/.ssh && cp /private/tmp/authorized_keys /var/root/.ssh/authorized_keys \ 10 | && chmod 644 /var/root/.ssh/authorized_keys && chown -R root:wheel /var/root/.ssh 11 | mkdir /Users/$SSH_USERNAME/.ssh && chmod 700 /Users/$SSH_USERNAME/.ssh && cp /private/tmp/authorized_keys /Users/$SSH_USERNAME/.ssh/authorized_keys \ 12 | && chmod 644 /Users/$SSH_USERNAME/.ssh/authorized_keys && chown -R $SSH_USERNAME:staff /Users/$SSH_USERNAME/.ssh 13 | rm /private/tmp/authorized_keys 14 | -------------------------------------------------------------------------------- /templates/macos/common/files/pooler/local.localhost.startup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label local.localhost.startup 6 | Disabled 7 | RunAtLoad 8 | KeepAlive 9 | LaunchOnlyOnce 10 | Program /etc/rc.local 11 | 12 | 13 | -------------------------------------------------------------------------------- /templates/macos/common/files/pooler/rc.local: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Example Daemon Starter 4 | . /etc/rc.common 5 | 6 | CheckForNetwork 7 | 8 | while [ "${NETWORKUP}" != "-YES-" ] 9 | do 10 | sleep 5 11 | NETWORKUP= 12 | CheckForNetwork 13 | done 14 | 15 | ( /etc/vsphere-bootstrap.rb ) 2>&1 | /usr/bin/tee /tmp/vsphere-bootstrap.log 16 | 17 | exit 0 18 | 19 | -------------------------------------------------------------------------------- /templates/macos/common/files/pooler/vsphere-bootstrap.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/ruby 2 | 3 | hostname = `"/Library/Application Support/VMware Tools/vmware-tools-daemon" --cmd "info-get guestinfo.hostname"` 4 | 5 | hostname = hostname.chomp 6 | 7 | puts "Nice to meet you, my VM name is '#{hostname}'." 8 | 9 | puts "\n" 10 | 11 | puts '- Setting local hostname...' 12 | 13 | hostnamecmd = "/usr/sbin/scutil --set HostName #{hostname}" 14 | computernamecmd = "/usr/sbin/scutil --set ComputerName #{hostname}" 15 | localhostnamecmd = "/usr/sbin/scutil --set LocalHostName #{hostname}" 16 | Kernel.system(hostnamecmd) 17 | Kernel.system(computernamecmd) 18 | Kernel.system(localhostnamecmd) 19 | 20 | puts '- Re-obtaining DHCP lease...' 21 | 22 | Kernel.system('/usr/sbin/ipconfig set en0 none') 23 | Kernel.system('/usr/sbin/ipconfig set en0 dhcp') 24 | 25 | puts '- Cleaning up...' 26 | 27 | Kernel.system('rm /Library/LaunchDaemons/local.localhost.startup.plist') 28 | Kernel.system('rm /etc/rc.local') 29 | 30 | puts "\n" 31 | 32 | puts 'Done!' 33 | -------------------------------------------------------------------------------- /templates/oracle/5.10/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @base 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | -ipw2100-firmware 38 | -ipw2200-firmware 39 | -ivtv-firmware 40 | -------------------------------------------------------------------------------- /templates/oracle/5.10/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "oracle-5.10-i386", 3 | "template_os" : "oracleLinuxGuest", 4 | "beakerhost" : "oracle5-32", 5 | "version" : "0.0.2", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/oracle5latestserver-i386/iso/Oracle-Enterprise-R5-U10-Server-i386-dvd.iso", 7 | "iso_checksum" : "e922b3dc5ba861fb9bcbc5422d4aaea3f632192fd3f8d4356f2369d3d4758ffa", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/5/PC1/i386/puppet-agent-1.10.9-1.el5.i386.rpm", 12 | "iso_name" : "Oracle-Enterprise-R5-U10-Server-i386-dvd.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/oracle/5.10/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "oracle-5.10-x86_64", 3 | "template_os" : "oracleLinux64Guest", 4 | "beakerhost" : "oracle5-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/oracle5latestserver-x86_64/iso/Oracle-Enterprise-R5-U10-Server-x86_64-dvd.iso", 7 | "iso_checksum" : "ac2ef713c12c07d10dcbc45a40e8add994cd7b97e6bf3fec63cac48791cd4a6d", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/5/PC1/x86_64/puppet-agent-1.10.9-1.el5.x86_64.rpm", 12 | "iso_name" : "Oracle-Enterprise-R5-U10-Server-x86_64-dvd.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/oracle/6.8/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | -ipw2100-firmware 38 | -ipw2200-firmware 39 | -ivtv-firmware 40 | -yum-autoupdate 41 | %end 42 | -------------------------------------------------------------------------------- /templates/oracle/6.8/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "oracle-6.8-i386", 3 | "template_os" : "oracleLinux6Guest", 4 | "beakerhost" : "oracle6-32", 5 | "version" : "0.0.1", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/list/generic/iso/oracle-linux-6.8-i386.iso", 7 | "iso_checksum" : "809eb9e9f44683ff875c64a00a85576ef93b679e98919f4fde8f856af9dac356", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/i386/puppet-agent-1.10.9-1.el6.i386.rpm", 12 | "iso_name" : "oracle-linux-6.8-i386.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/oracle/6.8/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "oracle-6.8-x86_64", 3 | "template_os" : "oracleLinux6_64Guest", 4 | "beakerhost" : "oracle6-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/oracle-linux-6.8-x86_64.iso", 7 | "iso_checksum" : "de114b9a108ad9b3c9a27764fddffbc1019b9b7913ee6d9b717f65041780c879", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/x86_64/puppet-agent-1.10.9-1.el6.x86_64.rpm", 12 | "iso_name" : "oracle-linux-6.8-x86_64.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/oracle/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "floppy_dirs" : "", 3 | "floppy_files" : "../common/files/ks.cfg", 4 | "boot_command" : " text ks=hd:fd0:/ks.cfg", 5 | "vmware_base_vmx_data_ethernet0_virtualDev" : "e1000", 6 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network puppetlabs-firewall" 7 | } 8 | -------------------------------------------------------------------------------- /templates/redhat/6.8/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | -ipw2100-firmware 38 | -ipw2200-firmware 39 | -ivtv-firmware 40 | %end 41 | -------------------------------------------------------------------------------- /templates/redhat/6.8/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "redhat-6.8-i386", 3 | "template_os" : "rhel6Guest", 4 | "beakerhost" : "redhat6-32", 5 | "version" : "0.0.4", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/rhel-server-6.8-i386-dvd.iso", 7 | "iso_checksum" : "22d1754f3e642c2b60234c3f97d1d6689b33bef4dd2252e3f52cd9aa823bb5f3", 8 | "iso_checksum_type" : "sha256", 9 | "boot_command" : " text ks=hd:fd0:/ks.cfg", 10 | "vmware_vsphere_nocm_vmx_data_memsize" : "2048", 11 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 12 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/i386/puppet-agent-1.10.9-1.el6.i386.rpm", 13 | "iso_name" : "rhel-server-6.8-i386-dvd.iso" 14 | } 15 | -------------------------------------------------------------------------------- /templates/redhat/6.8/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "redhat-6.8-x86_64", 3 | "template_os" : "rhel6_64Guest", 4 | "beakerhost" : "redhat6-64", 5 | "version" : "0.0.5", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/rhel-server-6.8-x86_64-dvd.iso", 7 | "iso_checksum" : "d35fd1af20f6adef9b11b46c2534ae8b6e18de7754889e2b51808b436dff2804", 8 | "iso_checksum_type" : "sha256", 9 | "boot_command" : " text ks=hd:fd0:/ks.cfg", 10 | "vmware_vsphere_nocm_vmx_data_memsize" : "8168", 11 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 12 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/x86_64/puppet-agent-1.10.9-1.el6.x86_64.rpm", 13 | "iso_name" : "rhel-server-6.8-x86_64-dvd.iso" 14 | } 15 | -------------------------------------------------------------------------------- /templates/redhat/7.2-fips/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | network --device=ens33 --onboot=yes 7 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 8 | firewall --enabled --service=ssh 9 | authconfig --enableshadow --passalgo=sha512 10 | selinux --disabled 11 | timezone UTC 12 | bootloader --location=mbr 13 | 14 | text 15 | skipx 16 | zerombr 17 | 18 | clearpart --all --initlabel 19 | autopart 20 | 21 | auth --useshadow --enablemd5 22 | firstboot --disabled 23 | reboot --eject 24 | 25 | repo --name=epel-release --baseurl=https://artifactory.delivery.puppetlabs.net/artifactory/rpm__remote_epel/7/x86_64/ 26 | 27 | 28 | %packages --ignoremissing 29 | @core 30 | bzip2 31 | open-vm-tools 32 | kernel-devel 33 | kernel-headers 34 | gcc 35 | make 36 | net-tools 37 | patch 38 | perl 39 | rng-tools 40 | haveged 41 | curl 42 | wget 43 | nfs-utils 44 | -ipw2100-firmware 45 | -ipw2200-firmware 46 | -ivtv-firmware 47 | %end 48 | -------------------------------------------------------------------------------- /templates/redhat/7.2-fips/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "redhat-fips-7.2-x86_64", 3 | "template_os" : "rhel7_64Guest", 4 | "beakerhost" : "redhatfips7-64", 5 | "version" : "0.0.9", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/rhel-server-7.2-x86_64-dvd.iso", 7 | "iso_checksum" : "03f3a0291634335f6995534d829bd21ffaa0d000004dfeb1b2fb81052d64a4d5", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "8168", 10 | "vmware_base_vmx_data_numvcpus" : "2", 11 | "boot_command" : " inst.text inst.ks=hd:fd0:/ks.cfg fips=1", 12 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.9-1.el7.x86_64.rpm", 13 | "vmware_base_provisioning_scripts" : "../../../../scripts/bootstrap-aio.sh,../../common/files/enable-fips.sh", 14 | "iso_name" : "rhel-server-7.2-x86_64-dvd.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/redhat/7.2/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | network --device=ens33 --onboot=yes 7 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 8 | firewall --enabled --service=ssh 9 | authconfig --enableshadow --passalgo=sha512 10 | selinux --disabled 11 | timezone UTC 12 | bootloader --location=mbr 13 | 14 | text 15 | skipx 16 | zerombr 17 | 18 | clearpart --all --initlabel 19 | autopart 20 | 21 | auth --useshadow --enablemd5 22 | firstboot --disabled 23 | reboot --eject 24 | 25 | %packages --ignoremissing 26 | @core 27 | bzip2 28 | kernel-devel 29 | kernel-headers 30 | gcc 31 | make 32 | net-tools 33 | patch 34 | perl 35 | curl 36 | wget 37 | nfs-utils 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | -------------------------------------------------------------------------------- /templates/redhat/7.2/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "redhat-7.2-x86_64", 3 | "template_os" : "rhel7_64Guest", 4 | "beakerhost" : "redhat7-64", 5 | "version" : "0.0.7", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/rhel-server-7.2-x86_64-dvd.iso", 7 | "iso_checksum" : "03f3a0291634335f6995534d829bd21ffaa0d000004dfeb1b2fb81052d64a4d5", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "8168", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.9-1.el7.x86_64.rpm", 12 | "iso_name" : "rhel-server-7.2-x86_64-dvd.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/redhat/8.0-fips/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | network --device=ens33 --onboot=yes 7 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 8 | firewall --enabled --service=ssh 9 | authconfig --enableshadow --passalgo=sha512 10 | selinux --disabled 11 | timezone UTC 12 | bootloader --location=mbr 13 | 14 | text 15 | skipx 16 | zerombr 17 | 18 | clearpart --all --initlabel 19 | autopart 20 | 21 | auth --useshadow --enablemd5 22 | firstboot --disabled 23 | reboot --eject 24 | 25 | %packages --ignoremissing 26 | @core 27 | bzip2 28 | open-vm-tools 29 | kernel-devel 30 | kernel-headers 31 | gcc 32 | make 33 | net-tools 34 | patch 35 | perl 36 | rng-tools 37 | curl 38 | wget 39 | nfs-utils 40 | -ipw2100-firmware 41 | -ipw2200-firmware 42 | -ivtv-firmware 43 | %end 44 | -------------------------------------------------------------------------------- /templates/redhat/8.0/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | network --device=ens33 --onboot=yes 7 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 8 | firewall --enabled --service=ssh 9 | authconfig --enableshadow --passalgo=sha512 10 | selinux --disabled 11 | timezone UTC 12 | bootloader --location=mbr 13 | 14 | text 15 | skipx 16 | zerombr 17 | 18 | clearpart --all --initlabel 19 | autopart 20 | 21 | auth --useshadow --enablemd5 22 | firstboot --disabled 23 | reboot --eject 24 | 25 | %packages --ignoremissing 26 | @core 27 | bzip2 28 | kernel-devel 29 | kernel-headers 30 | gcc 31 | make 32 | net-tools 33 | patch 34 | perl 35 | curl 36 | wget 37 | nfs-utils 38 | -ipw2100-firmware 39 | -ipw2200-firmware 40 | -ivtv-firmware 41 | %end 42 | -------------------------------------------------------------------------------- /templates/redhat/8.0/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "redhat-8-x86_64", 3 | "template_os" : "rhel8_64Guest", 4 | "beakerhost" : "redhat8-64", 5 | "version" : "0.0.4", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/rhel-8.0-x86_64-dvd.iso", 7 | "iso_checksum" : "005d4f88fff6d63b0fc01a10822380ef52570edd8834321de7be63002cc6cc43", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "8168", 10 | "vmware_base_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.9-1.el7.x86_64.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "boot_command" : " inst.text inst.ks=http://%s/ks.cfg", 14 | "iso_name" : "rhel-8.0-x86_64-dvd.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/redhat/8.4-kurl-beta/common/files/bash_profile_k8s_status.sh: -------------------------------------------------------------------------------- 1 | ########################################################### 2 | # Provide k8s status and kots password reset info on login. 3 | 4 | k8s_restart_state=$(/usr/sbin/check_k8s_restart_state.sh) 5 | case "${k8s_restart_state}" in 6 | succeeded) 7 | echo 'Kubernetes reset complete.' 8 | echo 9 | echo 'Run "kubectl kots reset-password -n default" to reset the KOTS admin console root password.' 10 | echo 11 | ;; 12 | running) 13 | echo '** WARNING: Kubernetes reset still in progress.' 14 | echo 15 | echo 'Check status by running "check_k8s_restart_state.sh".' 16 | echo 'Or for more detail, by running "systemctl status k8s-restart" or "journalctl -u k8s-restart.service"' 17 | echo 18 | echo 'Once the k8s-restart.service completes sucessfully, you can run "kubectl kots reset-password -n default" to reset the KOTS admin console root password.' 19 | echo 20 | ;; 21 | *) 22 | journalctl -u k8s-restart.service --no-pager 23 | echo 24 | echo '!! ERROR: Kubernetes reset failed !!' 25 | echo 'See "journalctl -u k8s-restart.service" above for details.' 26 | echo 27 | ;; 28 | esac 29 | -------------------------------------------------------------------------------- /templates/redhat/8.4-kurl-beta/common/files/check_k8s_restart_state.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | state=$(systemctl show k8s-restart | grep -E '^ActiveState=' | cut -d= -f2) 4 | case "${state}" in 5 | # This is a oneshot service, but systemd retains it as active if successful. 6 | active) state='succeeded' ;; 7 | # Script is still running. 8 | activating) state='running' ;; 9 | # Failed or ?? 10 | *) ;; # return $state as is 11 | esac 12 | 13 | echo "${state}" 14 | -------------------------------------------------------------------------------- /templates/redhat/8.4-kurl-beta/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | # autopart only allows for 50GB on / and gives the rest to /home, 19 | # so we have to manually partition 20 | part pv.008002 --size=1 --grow --ondisk=sda 21 | volgroup VolGroup --pesize=4096 pv.008002 22 | logvol swap --name=vl_swap --vgname=VolGroup --size=8192 --maxsize=8192 23 | logvol / --name=vl_root --vgname=VolGroup --fstype=ext4 --grow --size=1 24 | part /boot --fstype=ext4 --size=1024 25 | 26 | auth --useshadow --enablemd5 27 | firstboot --disabled 28 | reboot --eject 29 | 30 | %packages --ignoremissing 31 | @core 32 | bzip2 33 | kernel-devel 34 | kernel-headers 35 | gcc 36 | make 37 | net-tools 38 | patch 39 | perl 40 | curl 41 | wget 42 | nfs-utils 43 | ipvsadm 44 | bash-completion 45 | -ipw2100-firmware 46 | -ipw2200-firmware 47 | -ivtv-firmware 48 | %end 49 | -------------------------------------------------------------------------------- /templates/redhat/9.0/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | cdrom 2 | lang en_US.UTF-8 3 | keyboard us 4 | network --bootproto=dhcp 5 | network --device=ens33 --onboot=yes 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | selinux --disabled 9 | timezone UTC 10 | bootloader --location=mbr 11 | 12 | text 13 | skipx 14 | zerombr 15 | 16 | clearpart --all --initlabel 17 | autopart 18 | 19 | auth --useshadow --enablemd5 20 | firstboot --disabled 21 | reboot --eject 22 | 23 | %packages --ignoremissing 24 | @core 25 | bzip2 26 | kernel-devel 27 | kernel-headers 28 | gcc 29 | make 30 | net-tools 31 | patch 32 | perl 33 | curl 34 | wget 35 | nfs-utils 36 | -ipw2100-firmware 37 | -ipw2200-firmware 38 | -ivtv-firmware 39 | %end 40 | 41 | %post 42 | echo PermitRootLogin yes >> /etc/ssh/sshd_config 43 | %end 44 | -------------------------------------------------------------------------------- /templates/redhat/9.0/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "redhat-9-x86_64", 3 | "template_os" : "rhel8_64Guest", 4 | "beakerhost" : "redhat9-64", 5 | "version" : "0.0.3", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/rhel-baseos-9.0-beta-0-x86_64-dvd.iso", 7 | "iso_checksum" : "23e6d31e12a22b6d56f00889ea7dc465360ea84e3b7d7854e4c627ecd3160473", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "8168", 10 | "vmware_base_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppet.com/puppet7/el/8/x86_64/puppet-agent-7.10.0-1.el8.x86_64.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "boot_command" : " inst.text inst.ks=http://%s/ks.cfg", 14 | "iso_name" : "rhel-baseos-9.0-beta-0-x86_64-dvd.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/redhat/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "disk_size" : "71680", 3 | "floppy_dirs" : "", 4 | "floppy_files" : "../common/files/ks.cfg", 5 | "http_directory" : "../common/files", 6 | "boot_command" : " inst.text inst.ks=hd:fd0:/ks.cfg", 7 | "vmware_base_vmx_data_ethernet0_virtualDev" : "e1000", 8 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network puppetlabs-firewall" 9 | } 10 | -------------------------------------------------------------------------------- /templates/rocky/8.4/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | # autopart only allows for 50GB on / and gives the rest to /home, 19 | # so we have to manually partition 20 | part pv.008002 --size=1 --grow --ondisk=sda 21 | volgroup VolGroup --pesize=4096 pv.008002 22 | logvol swap --name=vl_swap --vgname=VolGroup --size=8192 --maxsize=8192 23 | logvol / --name=vl_root --vgname=VolGroup --fstype=ext4 --grow --size=1 24 | part /boot --fstype=ext4 --size=1024 25 | 26 | auth --useshadow --enablemd5 27 | firstboot --disabled 28 | reboot --eject 29 | 30 | %packages --ignoremissing 31 | @core 32 | bzip2 33 | kernel-devel 34 | kernel-headers 35 | gcc 36 | make 37 | net-tools 38 | patch 39 | perl 40 | curl 41 | wget 42 | nfs-utils 43 | -ipw2100-firmware 44 | -ipw2200-firmware 45 | -ivtv-firmware 46 | %end 47 | -------------------------------------------------------------------------------- /templates/rocky/8.4/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "rocky-8-x86_64", 3 | "template_os" : "centos8_64Guest", 4 | "beakerhost" : "rocky8-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/Rocky-8.4-x86_64-dvd1.iso", 7 | "iso_checksum" : "ffe2fae67da6702d859cfb0b321561a5d616ce87a963d8a25b018c9c3d52d9a4", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "8168", 10 | "vmware_base_vmx_data_numvcpus" : "4", 11 | "puppet_aio" : "https://builds.delivery.puppetlabs.net/puppet-agent/7.11.0/artifacts/el/8/puppet7/x86_64/puppet-agent-7.11.0-1.el8.x86_64.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "iso_name" : "Rocky-8.4-x86_64-dvd1.iso" 14 | } 15 | -------------------------------------------------------------------------------- /templates/rocky/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : " inst.text inst.ks=http://%s/ks.cfg", 3 | "disk_size" : "71680", 4 | "floppy_dirs" : "", 5 | "floppy_files" : "", 6 | "http_directory" : "../common/files/", 7 | "libvirt_disk_interface" : "virtio-scsi", 8 | "libvirt_net_device" : "virtio-net-pci", 9 | "libvirt_base_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 10 | "virtualbox_base_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 11 | "vagrant_required_modules" : "puppetlabs-stdlib saz-ssh saz-sudo", 12 | "vmware_base_vmx_data_ethernet0_virtualDev" : "e1000", 13 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network puppetlabs-firewall" 14 | } 15 | -------------------------------------------------------------------------------- /templates/scientific/5.10/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --disabled 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @base 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | perl 32 | curl 33 | wget 34 | nfs-utils 35 | -ipw2100-firmware 36 | -ipw2200-firmware 37 | -ivtv-firmware 38 | -------------------------------------------------------------------------------- /templates/scientific/5.10/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "scientific-5.10-i386", 3 | "template_os" : "rhel5Guest", 4 | "beakerhost" : "scientific5-32", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/sci5latestserver-i386/iso/SL.510.110513.DVD.i386.disc1.iso", 7 | "iso_checksum" : "2fb11979d7e54b9da1d74580fd9912a7ff54f92f72a8d53249ff5f61df10b6a4", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/5/PC1/i386/puppet-agent-1.10.9-1.el5.i386.rpm", 12 | "iso_name" : "SL.510.110513.DVD.i386.disc1.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/scientific/5.10/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "scientific-5.10-x86_64", 3 | "template_os" : "rhel5_64Guest", 4 | "beakerhost" : "scientific5-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/sci5latestserver-x86_64/iso/SL.510.110513.DVD.x86_64.disc1.iso", 7 | "iso_checksum" : "a808d2ffc2271e2d45d2f424780fc083e0a7323fbb872290da7abc2085ed66b4", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/5/PC1/x86_64/puppet-agent-1.10.9-1.el5.x86_64.rpm", 12 | "iso_name" : "SL.510.110513.DVD.x86_64.disc1.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/scientific/6.8/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | perl 32 | curl 33 | wget 34 | nfs-utils 35 | -ipw2100-firmware 36 | -ipw2200-firmware 37 | -ivtv-firmware 38 | -yum-autoupdate 39 | %end 40 | -------------------------------------------------------------------------------- /templates/scientific/6.8/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "scientific-6.8-i386", 3 | "template_os" : "rhel6Guest", 4 | "beakerhost" : "scientific6-32", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/rpm__remote_scientific-cache/6.8/i386/iso/SL-68-i386-2016-06-29-DVD-DL.iso", 7 | "iso_checksum" : "f46ca847a468e79b69fc2f3ab71893803bd45b00b22aaf30019ea576e498c655", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "2048", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/i386/puppet-agent-1.10.10-1.el6.i386.rpm", 12 | "iso_name" : "SL-68-i386-2016-06-29-DVD-DL.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/scientific/6.8/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "scientific-6.8-x86_64", 3 | "template_os" : "rhel6_64Guest", 4 | "beakerhost" : "scientific6-64", 5 | "version" : "0.0.2", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/rpm__remote_scientific-cache/6.8/x86_64/iso/SL-68-x86_64-2016-06-29-DVD-DL.iso", 7 | "iso_checksum" : "ada95b0e920612a5a9c56e268515a9965663377407a7897167be7a2efdade804", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "6144", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/6/PC1/x86_64/puppet-agent-1.10.10-1.el6.x86_64.rpm", 12 | "iso_name" : "SL-68-x86_64-2016-06-29-DVD-DL.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/scientific/7.2/common/files/ks.cfg: -------------------------------------------------------------------------------- 1 | install 2 | cdrom 3 | lang en_US.UTF-8 4 | keyboard us 5 | network --bootproto=dhcp 6 | rootpw --iscrypted $1$v4K9E8Wj$gZIHJ5JtQL5ZGZXeqSSsd0 7 | firewall --enabled --service=ssh 8 | authconfig --enableshadow --passalgo=sha512 9 | selinux --disabled 10 | timezone UTC 11 | bootloader --location=mbr 12 | 13 | text 14 | skipx 15 | zerombr 16 | 17 | clearpart --all --initlabel 18 | autopart 19 | 20 | auth --useshadow --enablemd5 21 | firstboot --disabled 22 | reboot --eject 23 | 24 | %packages --ignoremissing 25 | @core 26 | bzip2 27 | kernel-devel 28 | kernel-headers 29 | gcc 30 | make 31 | net-tools 32 | patch 33 | perl 34 | curl 35 | wget 36 | nfs-utils 37 | -ipw2100-firmware 38 | -ipw2200-firmware 39 | -ivtv-firmware 40 | %end 41 | -------------------------------------------------------------------------------- /templates/scientific/7.2/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "scientific-7.2-x86_64", 3 | "template_os" : "rhel7_64Guest", 4 | "beakerhost" : "scientific7-64", 5 | "version" : "0.0.1", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/SL-7.2-DVD-x86_64-2016-02-02.iso", 7 | "iso_checksum" : "c13c6f23f81df063212122aa9ce948e3506b41536e45ef867034c6923077e593", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/el/7/PC1/x86_64/puppet-agent-1.10.9-1.el7.x86_64.rpm", 12 | "iso_name" : "SL-7.2-DVD-x86_64-2016-02-02.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/scientific/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "floppy_dirs" : "", 3 | "floppy_files" : "../common/files/ks.cfg", 4 | "boot_command" : " text ks=hd:fd0:/ks.cfg", 5 | "vmware_base_vmx_data_ethernet0_virtualDev" : "e1000", 6 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network puppetlabs-firewall" 7 | } 8 | -------------------------------------------------------------------------------- /templates/sles/11/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "sles-11-i386", 3 | "template_os" : "sles11Guest", 4 | "beakerhost" : "sles11-32", 5 | "version" : "0.0.3", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/SLES-11-SP4-DVD-i586-GM-DVD1.iso", 7 | "iso_checksum" : "3e2f09b0a5dc04f4b8cafa174ab971b7355b8f6c22925aab1d1817fff5c7e549", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "6144", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/sles/11/PC1/i386/puppet-agent-1.10.9-1.sles11.i386.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "boot_command" : "linux netdevice=eth0 netsetup=dhcp install=cd:/ lang=en_US autoyast=http://%s/autoinst-x86.xml textmode=1", 14 | "vmware_base_boot_wait" : "20s", 15 | "iso_name" : "SLES-11-SP4-DVD-i586-GM-DVD1.iso" 16 | } 17 | -------------------------------------------------------------------------------- /templates/sles/11/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "sles-11-x86_64", 3 | "template_os" : "sles11_64Guest", 4 | "beakerhost" : "sles11-64", 5 | "version" : "0.0.3", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/SLES-11-SP4-DVD-x86_64-GM-DVD1.iso", 7 | "iso_checksum" : "4fbf22201876d571c719328f385d87d6d690fb3ceb5e093108cdf0373c43e855", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "6144", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/sles/11/PC1/x86_64/puppet-agent-1.10.9-1.sles11.x86_64.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "boot_command" : "linux netdevice=eth0 netsetup=dhcp install=cd:/ lang=en_US autoyast=http://%s/autoinst-x64.xml textmode=1", 14 | "vmware_base_boot_wait" : "20s", 15 | "iso_name" : "SLES-11-SP4-DVD-x86_64-GM-DVD1.iso" 16 | } 17 | -------------------------------------------------------------------------------- /templates/sles/12.1/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" :"linux netdevice=eth0 netsetup=dhcp install=cd:/ lang=en_US autoyast2=http://%s/autoinst.xml textmode=1" 3 | } -------------------------------------------------------------------------------- /templates/sles/12.1/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "sles-12-x86_64", 3 | "template_os" : "sles12_64Guest", 4 | "beakerhost" : "sles12-64a", 5 | "version" : "0.0.4", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/SLE-12-SP1-Server-DVD-x86_64-GM-DVD1.iso", 7 | "iso_checksum" : "e1c0ba860f593d60c2c138a0cd35e2a3c65304b4c988b4c9f6051bff89871f62", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "8168", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/sles/12/PC1/x86_64/puppet-agent-1.10.9-1.sles12.x86_64.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "boot_command" : "linux netdevice=eth0 netsetup=dhcp install=cd:/ lang=en_US autoyast=http://%s/autoinst-x64.xml textmode=1", 14 | "iso_name" : "SLE-12-SP1-Server-DVD-x86_64-GM-DVD1.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/sles/15/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" :"linux netdevice=eth0 netsetup=dhcp install=cd:/ lang=en_US autoyast2=http://%s/autoinst.xml textmode=1" 3 | } -------------------------------------------------------------------------------- /templates/sles/15/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "sles-15-x86_64", 3 | "template_os" : "sles15_64Guest", 4 | "beakerhost" : "", 5 | "version" : "0.0.4", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/SLE-15-Installer-DVD-x86_64-GM-DVD1.iso", 7 | "iso_checksum" : "06bd8b78ef0ca6d5ff5000688727953e894805dc3de59060d74441f0fd0539ab", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "8168", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://yum.puppetlabs.com/puppet5/sles/15/x86_64/puppet-agent-5.5.7-1.sles15.x86_64.rpm", 12 | "inject_http_seed_in_boot_command" : "true", 13 | "boot_command" : "linux netdevice=eth0 netsetup=dhcp install=cd:/ lang=en_US autoyast=http://%s/autoinst-x64.xml textmode=1", 14 | "iso_name" : "SLE-15-Installer-DVD-x86_64-GM-DVD1.iso" 15 | } 16 | -------------------------------------------------------------------------------- /templates/sles/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "disk_size" : "71680", 3 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network darin-zypprepo", 4 | "vmware_base_vmx_data_memsize" : "512", 5 | "vmware_base_vmx_data_cpuid_coresPerSocket" : "1", 6 | "vmware_base_vmx_data_numvcpus" : "1", 7 | "vmware_base_vmx_data_ethernet0_virtualDev" : "e1000", 8 | "vmware_base_vmx_data_ethernet0_pciSlotNumber" : "33", 9 | "http_directory" : "../common/files", 10 | "vmware_vsphere_nocm_vmx_data_ethernet0_virtualDev" : "e1000", 11 | "floppy_dirs" : "", 12 | "floppy_files" : "" 13 | } 14 | -------------------------------------------------------------------------------- /templates/solaris/10u11/README.md: -------------------------------------------------------------------------------- 1 | Solaris 10 2 | ========== 3 | 4 | Some notes about building Solaris 10: 5 | 6 | - The template in the common/ directory was created to build Solaris 10 update 11, a.k.a Solaris 10 1/13, a.k.a 10u11. 7 | Newer and older versions may or may not work. 8 | The installation media, `sol-10-u11-ga-x86-dvd.iso`, is not freely available but may be downloaded from Oracle after registering for a free account. 9 | 10 | - The VM *must* have at least 768 MB of memory. 11 | Otherwise, the installer will silently fail to start. 12 | Adding more that 942 MB of memory will cause the installer to boot in 64 bit mode and silently fail to start. 13 | 14 | - Details concerning the workings of Solaris 10u11 can be found in the [Oracle Library][solaris 10u11 library]. 15 | Of specific interest: 16 | 17 | - The [list of available packages on the install cdrom][solaris 10u11 packages]. 18 | 19 | - The [JumpStart Documentation][solaris 10u11 jumpstart]. 20 | 21 | [solaris 10u11 library]: http://docs.oracle.com/cd/E26505_01/html/E27063/index.html 22 | [solaris 10u11 packages]: http://docs.oracle.com/cd/E26505_01/html/E27063/index.html 23 | [solaris 10u11 jumpstart]: http://docs.oracle.com/cd/E26505_01/html/E28039/index.html 24 | -------------------------------------------------------------------------------- /templates/solaris/10u11/common/files/begin: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Sample Begin Script for profiled install on x86 4 | # 5 | # "@(#)x86-begin 1.5 93/10/13" 6 | # 7 | 8 | #PATH=$PATH:/sbin:/usr/sbin 9 | #export PATH 10 | # 11 | #INSTALL_LOG=/tmp/install_log 12 | #ROOT_DEV=c0t0d0p0 13 | # 14 | #echo 'Executing profile begin script...' >> $INSTALL_LOG 2>&1 15 | # 16 | ## 17 | ## Copy all conf files from the directory with the same name as the begin 18 | ## script (+ .conf) into the tempfs which will be copied onto the installed 19 | ## disk. 20 | ## 21 | ## SI_BEGIN and SI_CONFIG_DIR come from the caller's environment 22 | ## 23 | #mkdir -p /tmp/root/kernel/drv >> $INSTALL_LOG 2>&1 24 | #cp -r ${SI_CONFIG_DIR}/${SI_BEGIN}.conf/*.conf /tmp/root/kernel/drv >> $INSTALL_LOG 2>&1 25 | # 26 | #echo 'Completed profile begin script.' >> $INSTALL_LOG 2>&1 27 | # 28 | #exit 0 29 | -------------------------------------------------------------------------------- /templates/solaris/10u11/common/files/finish: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Set host name 4 | echo "vagrant" > /a/etc/nodename 5 | 6 | # Allow root SSH 7 | cat /a/etc/ssh/sshd_config | sed -e 's/PermitRootLogin\ .*$/PermitRootLogin yes/g' > /tmp/sshd_config.$$ 8 | cat /tmp/sshd_config.$$ > /a/etc/ssh/sshd_config 9 | 10 | # Install 'Primary Administrator' profile 11 | cat /cdrom/Solaris_10/Product/SUNWwbcor/reloc/etc/security/auth_attr >> /a/etc/security/auth_attr 12 | cat /cdrom/Solaris_10/Product/SUNWwbcor/reloc/etc/security/exec_attr >> /a/etc/security/exec_attr 13 | cat /cdrom/Solaris_10/Product/SUNWwbcor/reloc/etc/security/prof_attr >> /a/etc/security/prof_attr 14 | -------------------------------------------------------------------------------- /templates/solaris/10u11/common/files/rules.ok: -------------------------------------------------------------------------------- 1 | any - begin profile finish 2 | # version=2 checksum=1111 -------------------------------------------------------------------------------- /templates/solaris/10u11/common/files/sysidcfg: -------------------------------------------------------------------------------- 1 | auto_reg=none 2 | keyboard=US-English 3 | terminal=vt100 4 | system_locale=en_GB.UTF-8 5 | timezone=Europe/London 6 | timeserver=localhost 7 | service_profile=limited_net 8 | security_policy=NONE 9 | network_interface=PRIMARY {dhcp protocol_ipv6=no} 10 | 11 | name_service=NONE 12 | nfs4_domain=dynamic 13 | 14 | # __unix__ 'root' 15 | #perl -e 'print crypt($ARGV[0], substr(rand(data),2));' root 16 | root_password=32ZKvFr6eapoM 17 | -------------------------------------------------------------------------------- /templates/solaris/10u11/common/scripts/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Add the CSW libraries to the LD path 4 | /usr/bin/crle -u -l /opt/csw/lib 5 | -------------------------------------------------------------------------------- /templates/solaris/10u11/common/scripts/zerodisk.sh: -------------------------------------------------------------------------------- 1 | # Clear wtmp 2 | cat /dev/null > /var/adm/wtmpx 3 | 4 | # Zero out the free space to save space in the final image: 5 | dd if=/dev/zero of=/EMPTY bs=1024 6 | rm -f /EMPTY 7 | 8 | # Remove this script 9 | rm -rf /tmp/script.sh 10 | 11 | # Wait for all file ops to complete 12 | sync 13 | -------------------------------------------------------------------------------- /templates/solaris/11.2/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "solaris-112-x86_64", 3 | "template_os" : "solaris11_64Guest", 4 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/sol-11_2-ai-x86.iso", 5 | "iso_checksum" : "2b3859bb7532cfe42214349dff9fcc23", 6 | "iso_checksum_type" : "md5", 7 | "puppet_aio" : "http://builds.delivery.puppetlabs.net/puppet-agent/5.5.0/artifacts/solaris/11/PC1/puppet-agent@5.5.0,5.11-1.i386.p5p", 8 | "shutdown_command" : "/usr/sbin/poweroff", 9 | "inject_http_seed_in_boot_command" : "true", 10 | "tools_upload_flavor" : "solaris", 11 | "version" : "0.0.2", 12 | "beakerhost" : "solaris112-32", 13 | "iso_name" : "sol-11_2-ai-x86.iso" 14 | } 15 | -------------------------------------------------------------------------------- /templates/solaris/11.4/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "solaris-114-x86_64", 3 | "template_os" : "solaris11_64Guest", 4 | "beakerhost" : "solaris114-32", 5 | "version" : "0.0.5", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/sol-11_4-ai-x86.iso", 7 | "iso_checksum" : "e3a29507e583acbc0b912f371c8f328fea7cb6257d587cbc0a651477a52b0a29", 8 | "iso_checksum_type" : "sha256", 9 | 10 | "pc_repo" : "default repository", 11 | "puppet_aio" : "http://builds.delivery.puppetlabs.net/puppet-agent/5.5.0/artifacts/solaris/11/PC1/puppet-agent@5.5.0,5.11-1.sparc.p5p", 12 | "shutdown_command" : "/usr/sbin/poweroff", 13 | "inject_http_seed_in_boot_command" : "true", 14 | "tools_upload_flavor" : "solaris", 15 | "iso_name" : "sol-11_4-ai-x86.iso" 16 | } 17 | -------------------------------------------------------------------------------- /templates/solaris/common/scripts/vmtools.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ $PACKER_BUILDER_TYPE = 'virtualbox-iso' ]; then 4 | echo "Installing VirtualBox Guest Additions" 5 | echo "mail=\ninstance=overwrite\npartial=quit" > /tmp/noask.admin 6 | echo "runlevel=nocheck\nidepend=quit\nrdepend=quit" >> /tmp/noask.admin 7 | echo "space=quit\nsetuid=nocheck\nconflict=nocheck" >> /tmp/noask.admin 8 | echo "action=nocheck\nbasedir=default" >> /tmp/noask.admin 9 | DEV=`/usr/sbin/lofiadm -a $HOME/VBoxGuestAdditions.iso` 10 | /usr/sbin/mount -o ro -F hsfs $DEV /mnt 11 | /usr/sbin/pkgadd -a /tmp/noask.admin -G -d /mnt/VBoxSolarisAdditions.pkg all 12 | /usr/sbin/umount /mnt 13 | /usr/sbin/lofiadm -d $DEV 14 | rm -f VBoxGuestAdditions.iso 15 | fi 16 | 17 | if [ $PACKER_BUILDER_TYPE = 'vmware-iso' ]; then 18 | DEV=`/usr/sbin/lofiadm -a $HOME/solaris.iso` 19 | mkdir /mnt2 20 | /usr/sbin/mount -o ro -F hsfs $DEV /mnt2 21 | mkdir /tmp/vmfusion-archive 22 | gunzip -c /mnt2/vmware-solaris-tools.tar.gz | (cd /tmp/vmfusion-archive ; tar xvf -) 23 | /tmp/vmfusion-archive/vmware-tools-distrib/vmware-install.pl --default 24 | /usr/sbin/umount /mnt2 25 | /usr/sbin/lofiadm -d $DEV 26 | rm -rf /tmp/vmfusion-archive 27 | rm -f solaris.iso 28 | fi 29 | -------------------------------------------------------------------------------- /templates/ubuntu/14.04/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : "/install/vmlinuz console-setup/ask_detect=false console-setup/layoutcode=us console-setup/modelcode=pc105 debconf/frontend=noninteractive debian-installer=en_US fb=false initrd=/install/initrd.gz kbd-chooser/method=us keyboard-configuration/layout=USA keyboard-configuration/variant=USA locale=en_US netcfg/get_domain=vm netcfg/get_hostname=localhost noapic preseed/file=/floppy/preseed.cfg -- " 3 | } 4 | -------------------------------------------------------------------------------- /templates/ubuntu/14.04/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "ubuntu-14.04-i386", 3 | "template_os" : "ubuntuGuest", 4 | "beakerhost" : "ubuntu1404-32", 5 | "version" : "0.0.6", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/ubuntu-14.04.2-server-i386.iso", 7 | "iso_checksum" : "76524ab9502a34b983ed56af2d5a72835ce41aec1e2b4c0cb7788ef596958ed6", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "2048", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/trusty/PC1/p/puppet-agent/puppet-agent_1.8.3-1trusty_i386.deb", 12 | "iso_name" : "ubuntu-14.04.2-server-i386.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/ubuntu/14.04/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "ubuntu-14.04-x86_64", 3 | "template_os" : "ubuntu64Guest", 4 | "beakerhost" : "ubuntu1404-64", 5 | "version" : "0.0.6", 6 | "iso_url" : "http://osmirror.delivery.puppetlabs.net/iso/ubuntu-14.04.2-server-amd64.iso", 7 | "iso_checksum" : "8acd2f56bfcba2f7ac74a7e4a5e565ce68c024c38525c0285573e41c86ae90c0", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "4096", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/trusty/PC1/p/puppet-agent/puppet-agent_1.8.3-1trusty_amd64.deb", 12 | "iso_name" : "ubuntu-14.04.2-server-amd64.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/ubuntu/16.04/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : "/install/vmlinuz console-setup/ask_detect=false console-setup/layoutcode=us console-setup/modelcode=pc105 debconf/frontend=noninteractive debian-installer=en_US fb=false initrd=/install/initrd.gz kbd-chooser/method=us keyboard-configuration/layout=USA keyboard-configuration/variant=USA locale=en_US.UTF-8 netcfg/get_domain=vm netcfg/get_hostname=localhost grub-installer/bootdev=/dev/sda noapic preseed/file=/floppy/preseed.cfg -- " 3 | } 4 | -------------------------------------------------------------------------------- /templates/ubuntu/16.04/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "ubuntu-16.04-i386", 3 | "template_os" : "ubuntuGuest", 4 | "beakerhost" : "ubuntu1604-32", 5 | "version" : "0.0.8", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/ubuntu-16.04-server-i386.iso", 7 | "iso_checksum" : "8d52f3127f2b7ffa97698913b722e3219187476a9b936055d737f3e00aecd24d", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "2048", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/xenial/puppet5/p/puppet-agent/puppet-agent_5.3.2-1xenial_i386.deb", 12 | "iso_name" : "ubuntu-16.04-server-i386.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/ubuntu/16.04/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "ubuntu-16.04-x86_64", 3 | "template_os" : "ubuntu64Guest", 4 | "beakerhost" : "ubuntu1604-64", 5 | "version" : "0.0.8", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/ubuntu-16.04-server-amd64.iso", 7 | "iso_checksum" : "b8b172cbdf04f5ff8adc8c2c1b4007ccf66f00fc6a324a6da6eba67de71746f6", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_vsphere_nocm_vmx_data_memsize" : "8168", 10 | "vmware_vsphere_nocm_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/xenial/puppet5/p/puppet-agent/puppet-agent_5.3.2-1xenial_amd64.deb", 12 | "iso_name" : "ubuntu-16.04-server-amd64.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/ubuntu/18.04/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_command" : "/install/vmlinuz console-setup/ask_detect=false console-setup/layoutcode=us console-setup/modelcode=pc105 debconf/frontend=noninteractive debian-installer=en_US fb=false initrd=/install/initrd.gz kbd-chooser/method=us keyboard-configuration/layout=USA keyboard-configuration/variant=USA locale=en_US.UTF-8 netcfg/get_domain=vm netcfg/get_hostname=localhost grub-installer/bootdev=/dev/sda preseed/file=/floppy/preseed.cfg -- ", 3 | "vmware_base_boot_wait" : "15s" 4 | } 5 | -------------------------------------------------------------------------------- /templates/ubuntu/18.04/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "ubuntu-1804-x86_64", 3 | "template_os" : "ubuntu64Guest", 4 | "beakerhost" : "ubuntu1804-64", 5 | "version" : "0.0.12", 6 | "iso_checksum" : "a7f5c7b0cdd0e9560d78f1e47660e066353bb8a79eb78d1fc3f4ea62a07e6cbc", 7 | "iso_checksum_type" : "sha256", 8 | "vmware_base_vmx_data_memsize" : "8168", 9 | "vmware_base_vmx_data_numvcpus" : "2", 10 | "puppet_aio" : "http://apt.puppetlabs.com/pool/stretch/puppet5/p/puppet-agent/puppet-agent_5.3.2-1stretch_amd64.deb", 11 | "iso_name" : "ubuntu-18.04-server-amd64.iso" 12 | } 13 | -------------------------------------------------------------------------------- /templates/ubuntu/20.04/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "http_directory" : "../common/files", 3 | "inject_http_seed_in_boot_command" : "true", 4 | "boot_command" : "/install/vmlinuz console-setup/ask_detect=false console-setup/layoutcode=us console-setup/modelcode=pc105 debconf/frontend=noninteractive debian-installer=en_US fb=false initrd=/install/initrd.gz kbd-chooser/method=us keyboard-configuration/layout=USA keyboard-configuration/variant=USA locale=en_US.UTF-8 netcfg/get_domain=vm netcfg/get_hostname=localhost grub-installer/bootdev=/dev/sda preseed/url=http://%s/preseed.cfg -- ", 5 | "vmware_base_boot_wait" : "15s" 6 | } 7 | -------------------------------------------------------------------------------- /templates/ubuntu/20.04/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "ubuntu-2004-x86_64", 3 | "template_os" : "ubuntu64Guest", 4 | "beakerhost" : "ubuntu2004-64", 5 | "version" : "0.0.12", 6 | "iso_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic__iso/iso/ubuntu-20.04-live-server-amd64.iso", 7 | "iso_checksum" : "caf3fd69c77c439f162e2ba6040e9c320c4ff0d69aad1340a514319a9264df9f", 8 | "iso_checksum_type" : "sha256", 9 | "vmware_base_vmx_data_memsize" : "8168", 10 | "vmware_base_vmx_data_numvcpus" : "2", 11 | "puppet_aio" : "http://apt.puppetlabs.com/pool/bionic/puppet5/p/puppet-agent/puppet-agent_5.5.18-1bionic_amd64.deb", 12 | "iso_name" : "focal-server-amd64.iso" 13 | } 14 | -------------------------------------------------------------------------------- /templates/ubuntu/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "disk_size" : "71680", 3 | "floppy_dirs" : "", 4 | "floppy_files" : "../common/files/preseed.cfg", 5 | "vmware_vsphere_nocm_required_modules" : "puppetlabs-stdlib example42-network puppetlabs-apt" 6 | } 7 | -------------------------------------------------------------------------------- /templates/vro/7.1/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "vro-7.1-x86_64", 3 | "beakerhost" : "vro71-64", 4 | "version" : "0.0.2", 5 | "ova_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/VMware-vRO-Appliance-7.1.0.19044-4276164_OVF10.ova", 6 | "ova_md5" : "09c6b977afe766a1b2549cb259f954e1" 7 | } 8 | -------------------------------------------------------------------------------- /templates/vro/7.3/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "vro-7.3-x86_64", 3 | "beakerhost" : "vro73-64", 4 | "version" : "0.0.8", 5 | "ova_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/VMware-vRO-Appliance-7.3.1.21641-8002898_OVF10.ova", 6 | "ova_md5" : "2d6c71a934754b6f13b8f2c33a7f4a80" 7 | } 8 | -------------------------------------------------------------------------------- /templates/vro/7.4/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "vro-7.4-x86_64", 3 | "beakerhost" : "vro74-64", 4 | "version" : "0.0.2", 5 | "ova_url" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/VMware-vRO-Appliance-7.4.0.23619-8074344_OVF10.ova", 6 | "ova_md5" : "1481a8a57ef36a9850dc4a6b64eafba1" 7 | } 8 | -------------------------------------------------------------------------------- /templates/vro/common/files/vcloud-bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | hostname=`vmtoolsd --cmd "info-get guestinfo.hostname"` 4 | if [ $? -ne 0 ] 5 | then 6 | hostname=vro-73-x86_64 7 | fi 8 | 9 | echo "Nice to meet you, my VM name is $hostname" 10 | 11 | echo '- Setting local hostname...' 12 | 13 | echo $hostname > /etc/HOSTNAME 14 | 15 | hostname $hostname 16 | 17 | echo "- Restarting network..." 18 | service network restart 19 | -------------------------------------------------------------------------------- /templates/win/10-1511/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-10 Package Customisationtemplates/windows-10/files/i386/platform-packages.ps1" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | 9 | # This is a hack - but it works to get the windows update working - as in applying a recent CU as an update. 10 | if (-not (Test-Path "$PackerLogs\kb4524153.installed")) 11 | { 12 | Write-Output "Installing Windows Update SSU kb4524153" 13 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/09/windows10.0-kb4524153-x64_135d6f3ec9e9bb3a5e74ef669837166a08d7767f.msu" 14 | Touch-File "$PackerLogs\kb4524153.installed" 15 | Invoke-Reboot 16 | } 17 | 18 | if (-not (Test-Path "$PackerLogs\kb4523200.installed")) 19 | { 20 | Write-Output "Installing Windows Update SSU kb4523200" 21 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/11/windows10.0-kb4523200-x64_8b9d9f7930dee5a052981864b86025ac832c2b21.msu" 22 | Touch-File "$PackerLogs\kb4523200.installed" 23 | Invoke-Reboot 24 | } 25 | -------------------------------------------------------------------------------- /templates/win/10-1511/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-10-1511-x86_64", 3 | "beakerhost" : "windows10ent-64", 4 | "vbox_guest_os" : "Windows81_64", 5 | "vmware_guest_os" : "windows8-64", 6 | "vsphere_guest_os" : "windows9_64Guest", 7 | "windows_version" : "Windows-10", 8 | "image_name" : "Windows 10 Enterprise 2015 LTSB", 9 | "product_key" : "WNMTR-4C88C-JK8YV-HQ7T2-76DF9", 10 | "iso_name" : "en_windows_10_enterprise_2015_ltsb_x64_dvd_6848446.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "da938d65c548738900810181a78203f8", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows 10 Enterprise 2015 LTSB", 17 | "EditionID" : "EnterpriseS", 18 | "InstallationType" : "Client", 19 | "ReleaseID" : "N/A" 20 | 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/10-1607/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-10 Package Customisationtemplates/windows-10/files/i386/platform-packages.ps1" 5 | 6 | if (-not (Test-Path "$PackerLogs\kb4485447.installed")) 7 | { 8 | Write-Output "Installing Windows Update SSU kb4485447" 9 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/05/windows10.0-kb4498947-x64_97b6d1b006cd564854f39739d4fc23e3a72373d7.msu" 10 | Touch-File "$PackerLogs\kb4485447.installed" 11 | Invoke-Reboot 12 | } 13 | 14 | # Flag to remove Apps packages and other nuisances 15 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 16 | -------------------------------------------------------------------------------- /templates/win/10-1607/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-10-1607-x86_64", 3 | "beakerhost" : "windows10ent-64", 4 | "vbox_guest_os" : "Windows81_64", 5 | "vmware_guest_os" : "windows8-64", 6 | "vsphere_guest_os" : "windows9_64Guest", 7 | "windows_version" : "Windows-10", 8 | "image_name" : "Windows 10 Enterprise 2016 LTSB", 9 | "product_key" : "DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ", 10 | "iso_name" : "en_windows_10_enterprise_2016_ltsb_x64_dvd_9059483.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "e39ea2af41b3710682fe3bbdac35ec9a", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows 10 Enterprise 2016 LTSB", 17 | "EditionID" : "EnterpriseS", 18 | "InstallationType" : "Client", 19 | "ReleaseID" : "1607" 20 | 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/10-1809/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-10 Package Customisationtemplates/windows-10/files/i386/platform-packages.ps1" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | -------------------------------------------------------------------------------- /templates/win/10-1809/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-10-1809-x86_64", 3 | "beakerhost" : "windows10ent-64", 4 | "vbox_guest_os" : "Windows81_64", 5 | "vmware_guest_os" : "windows8-64", 6 | "vsphere_guest_os" : "windows9_64Guest", 7 | "windows_version" : "Windows-10", 8 | "image_name" : "Windows 10 Enterprise LTSC 2019", 9 | "product_key" : "M7XTQ-FN8P6-TTKYV-9D4CC-J462D", 10 | "iso_name" : "en_windows_10_enterprise_ltsc_2019_x64_dvd_5795bb03.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "1067be5346fed207089b3022165b8b19", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows 10 Enterprise LTSC 2019", 17 | "EditionID" : "EnterpriseS", 18 | "InstallationType" : "Client", 19 | "ReleaseID" : "1809" 20 | 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/10-ent/i386/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-10 Package Customisation" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | 9 | if (-not (Test-Path "$PackerLogs\KB4528759.installed")) 10 | { 11 | Write-Output "Installing Windows Update SSU KB4528759" 12 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2020/01/windows10.0-kb4528759-x86_5ee4c5443a4d70dcf2399e1c2afe57f625e72b3d.msu" 13 | Touch-File "$PackerLogs\KB4528759.installed" 14 | Invoke-Reboot 15 | } 16 | -------------------------------------------------------------------------------- /templates/win/10-ent/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-10-ent-i386", 3 | "win_proc_arch" : "x86", 4 | "beakerhost" : "windows10ent-32", 5 | "vbox_guest_os" : "Windows10", 6 | "vmware_guest_os" : "windows8", 7 | "vsphere_guest_os" : "windows9Guest", 8 | "windows_version" : "Windows-10", 9 | "image_name" : "Windows 10 Enterprise", 10 | "product_key" : "NPPR9-FWDCX-D2C8J-H872K-2YT43", 11 | "iso_name" : "en_windows_10_business_editions_version_2004_updated_july_2020_x86_dvd_de266803.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "aee22fc79d88b392484e7a3992749c1e", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.3", 17 | "ProductName" : "Windows 10 Enterprise", 18 | "EditionID" : "Enterprise", 19 | "InstallationType" : "Client", 20 | "ReleaseID" : "2004" 21 | 22 | } 23 | -------------------------------------------------------------------------------- /templates/win/10-ent/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-10 Package Customisationtemplates/windows-10/files/i386/platform-packages.ps1" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | 9 | if (-not (Test-Path "$PackerLogs\KB4528759.installed")) 10 | { 11 | Write-Output "Installing Windows Update SSU KB4528759" 12 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2020/01/windows10.0-kb4528759-x64_c2d6639977986b927d0b9f1acf0fb203c38fc8c8.msu" 13 | Touch-File "$PackerLogs\KB4528759.installed" 14 | Invoke-Reboot 15 | } 16 | -------------------------------------------------------------------------------- /templates/win/10-ent/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-10-ent-x86_64", 3 | "beakerhost" : "windows10ent-64", 4 | "vbox_guest_os" : "Windows81_64", 5 | "vmware_guest_os" : "windows8-64", 6 | "windows_version" : "Windows-10", 7 | "vsphere_guest_os" : "windows9_64Guest", 8 | "image_name" : "Windows 10 Enterprise", 9 | "product_key" : "NPPR9-FWDCX-D2C8J-H872K-2YT43", 10 | "iso_name" : "en_windows_10_business_editions_version_2004_updated_july_2020_x64_dvd_8e76feb1.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "b0bf9b4055c0ba160101e26ffd6d4c77", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows 10 Enterprise", 17 | "EditionID" : "Enterprise", 18 | "InstallationType" : "Client", 19 | "ReleaseID" : "2004" 20 | } 21 | 22 | -------------------------------------------------------------------------------- /templates/win/10-next/i386/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-10 Package Customisation" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | -------------------------------------------------------------------------------- /templates/win/10-next/i386/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-10-next-i386", 3 | "win_proc_arch" : "x86", 4 | "beakerhost" : "windows10ent-32", 5 | "vbox_guest_os" : "Windows10", 6 | "vmware_guest_os" : "windows8", 7 | "vsphere_guest_os" : "windows9Guest", 8 | "windows_version" : "Windows-10", 9 | "image_name" : "Windows 10 Enterprise", 10 | "product_key" : "NPPR9-FWDCX-D2C8J-H872K-2YT43", 11 | "iso_name" : "en_windows_10_business_editions_version_20h2_x86_dvd_fae4084e.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "f46c69b7e8187f9f4a7665c4f466cfb0", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.3", 17 | "ProductName" : "Windows 10 Enterprise", 18 | "EditionID" : "Enterprise", 19 | "InstallationType" : "Client", 20 | "ReleaseID" : "2009" 21 | 22 | } 23 | -------------------------------------------------------------------------------- /templates/win/10-next/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-10 Package Customisationtemplates/windows-10/files/i386/platform-packages.ps1" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | -------------------------------------------------------------------------------- /templates/win/10-next/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-10-next-x86_64", 3 | "beakerhost" : "windows10ent-64", 4 | "vbox_guest_os" : "Windows81_64", 5 | "vmware_guest_os" : "windows8-64", 6 | "vsphere_guest_os" : "windows9_64Guest", 7 | "windows_version" : "Windows-10", 8 | "image_name" : "Windows 10 Enterprise", 9 | "product_key" : "NPPR9-FWDCX-D2C8J-H872K-2YT43", 10 | "iso_name" : "en_windows_10_business_editions_version_20h2_x64_dvd_4788fb7c.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "436a66d36e590b4714b4d75878c8c22c", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows 10 Enterprise", 17 | "EditionID" : "Enterprise", 18 | "InstallationType" : "Client", 19 | "ReleaseID" : "2009" 20 | } 21 | -------------------------------------------------------------------------------- /templates/win/10-pro/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-10 Package Customisationtemplates/windows-10/files/i386/platform-packages.ps1" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | 9 | if (-not (Test-Path "$PackerLogs\KB4528759.installed")) 10 | { 11 | Write-Output "Installing Windows Update SSU KB4528759" 12 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2020/01/windows10.0-kb4528759-x64_c2d6639977986b927d0b9f1acf0fb203c38fc8c8.msu" 13 | Touch-File "$PackerLogs\KB4528759.installed" 14 | Invoke-Reboot 15 | } 16 | -------------------------------------------------------------------------------- /templates/win/10-pro/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-10-pro-x86_64", 3 | "beakerhost" : "windows10pro-64", 4 | "vbox_guest_os" : "Windows81_64", 5 | "vmware_guest_os" : "windows8-64", 6 | "vsphere_guest_os" : "windows9_64Guest", 7 | "windows_version" : "Windows-10", 8 | "image_name" : "Windows 10 Pro", 9 | "product_key" : "W269N-WFGWX-YVC9B-4J6C9-T83GX", 10 | "iso_name" : "en_windows_10_business_editions_version_2004_updated_july_2020_x64_dvd_8e76feb1.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "b0bf9b4055c0ba160101e26ffd6d4c77", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows 10 Pro", 17 | "EditionID" : "Professional", 18 | "InstallationType" : "Client", 19 | "ReleaseID" : "2004" 20 | 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2008r2/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2008r2 Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\DesktopExperience.installed")) 7 | { 8 | # And add desktop experience for cleanmgr 9 | Write-Output "Enable Desktop-Experience" 10 | dism /online /enable-feature /FeatureName:DesktopExperience /featurename:InkSupport /norestart 11 | Touch-File "$PackerLogs\DesktopExperience.installed" 12 | if (Test-PendingReboot) { Invoke-Reboot } 13 | } 14 | 15 | if (-not (Test-Path "$PackerLogs\KB2852386.installed")) 16 | { 17 | # Install the WinSxS cleanup patch 18 | Write-Output "Installing Windows Update Cleanup Hotfix KB2852386" 19 | Install_Win_Patch -PatchUrl "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/windows/win-2008r2-msu/Windows6.1-KB2852386-v2-x64.msu" 20 | Touch-File "$PackerLogs\KB2852386.installed" 21 | if (Test-PendingReboot) { Invoke-Reboot } 22 | } 23 | -------------------------------------------------------------------------------- /templates/win/2008r2/x86_64/files/slipstream-filter: -------------------------------------------------------------------------------- 1 | # CAB files to be filtered out in case of DISM Issues 2 | -------------------------------------------------------------------------------- /templates/win/2008r2/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2008r2-x86_64", 3 | "beakerhost" : "windows2008r2-64", 4 | "vbox_guest_os" : "Windows2008_64", 5 | "vmware_guest_os" : "windows7srv-64", 6 | "vsphere_guest_os" : "windows7Server64Guest", 7 | "windows_version" : "Windows-2008r2", 8 | "image_name" : "Windows Server 2008 R2 SERVERSTANDARD", 9 | "product_key" : "YC6KT-GKW9T-YTKYR-T4X34-R7VHC", 10 | "iso_name" : "en_windows_server_2008_r2_with_sp1_x64_dvd_617601_SlipStream_04.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "888f87caabc9526bb2bed7d72f66c644", 13 | "image_index" : "1", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.1", 17 | "ProductName" : "Windows Server 2008 R2 Standard", 18 | "EditionID" : "ServerStandard", 19 | "InstallationType" : "Server", 20 | "ReleaseID" : "N/A" 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2012/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2012 Package Customisation" 5 | 6 | # Used to install desktop features, but this appears to break Windows Update. 7 | # See last suggestion in this reference: 8 | # https://social.technet.microsoft.com/Forums/en-US/ae7cd1b1-59b2-4aa9-b0b2-d332243924dd/server-2012-stuck-on-checking-for-updates?forum=winserver8gen 9 | 10 | # Servicing Stack Patches that don't get slipstreamed properly to be installed. 11 | # Seems only one of these is actually needed. 12 | 13 | if (-not (Test-Path "$PackerLogs\Win2012.Patches")) 14 | { 15 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/crup/2016/06/windows8-rt-kb3173426-x64_ecf1b38d9e3cdf1eace07b9ddbf6f57c1c9d9309.msu" 16 | Touch-File "$PackerLogs\Win2012.Patches" 17 | Invoke-Reboot 18 | } 19 | -------------------------------------------------------------------------------- /templates/win/2012/x86_64/files/slipstream-filter: -------------------------------------------------------------------------------- 1 | # CAB files to be filtered out in case of DISM Issues 2 | windows8-rt-kb2981685-x64.cab 3 | windows8-rt-kb2973501-x64.cab 4 | windows8-rt-kb3003729-x64.cab 5 | windows8-rt-kb3012702-x64.cab 6 | windows8-rt-kb3096053-x64.cab 7 | windows8-rt-kb3080446-x64.cab 8 | windows8-rt-kb3042058-x64.cab 9 | Windows8-RT-KB3173426-x64.cab 10 | windows8-rt-kb3170455-x64.cab 11 | -------------------------------------------------------------------------------- /templates/win/2012/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2012-x86_64", 3 | "beakerhost" : "windows2012-64", 4 | "vbox_guest_os" : "Windows2012_64", 5 | "vmware_guest_os" : "windows8srv-64", 6 | "vsphere_guest_os" : "windows8Server64Guest", 7 | "windows_version" : "Windows-2012", 8 | "image_name" : "Windows Server 2012 SERVERSTANDARD", 9 | "product_key" : "XC9B7-NBPP2-83J2H-RHMBY-92BT4", 10 | "iso_name" : "en_windows_server_2012_x64_dvd_915478_SlipStream_04.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "d9be6dddde202486b64de6a7c6ffffbb", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.2", 16 | "ProductName" : "Windows Server 2012 Standard", 17 | "EditionID" : "ServerStandard", 18 | "InstallationType" : "Server", 19 | "ReleaseID" : "N/A" 20 | } 21 | -------------------------------------------------------------------------------- /templates/win/2012r2-core/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2012r2 Core Package Customisation" 5 | 6 | # NONE Required 7 | -------------------------------------------------------------------------------- /templates/win/2012r2-core/x86_64/files/slipstream-filter: -------------------------------------------------------------------------------- 1 | # CAB files to be filtered out in case of DISM Issues 2 | -------------------------------------------------------------------------------- /templates/win/2012r2-core/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2012r2-core-x86_64", 3 | "beakerhost" : "windows2012r2_core-64", 4 | "vbox_guest_os" : "Windows2012_64", 5 | "vmware_guest_os" : "windows8srv-64", 6 | "vsphere_guest_os" : "windows8Server64Guest", 7 | "windows_version" : "Windows-2012r2", 8 | "image_index" : "1", 9 | "image_name" : "Windows Server 2012 R2 SERVERSTANDARDCORE", 10 | "product_key" : "D2N9P-3P6X9-2R39C-7RTCD-MDVJX", 11 | "iso_name" : "en_windows_server_2012_r2_with_update_x64_dvd_6052708_SlipStream_04.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "b1a00122c42a7441c522161c168e80fa", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.3", 17 | "ProductName" : "Windows Server 2012 R2 Standard", 18 | "EditionID" : "ServerStandard", 19 | "InstallationType" : "Server Core", 20 | "ReleaseID" : "N/A" 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2012r2-fips/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2012r2-fips Package Customisation" 5 | 6 | Write-Output "Enabling FIPS mode" 7 | Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy -name Enabled -value 1 8 | 9 | if (-not (Test-Path "$PackerLogs\DesktopExperience.installed")) 10 | { 11 | # Enable Desktop experience to get cleanmgr 12 | Write-Output "Enable Desktop-Experience" 13 | Add-WindowsFeature Desktop-Experience 14 | Touch-File "$PackerLogs\DesktopExperience.installed" 15 | } 16 | 17 | if (Test-PendingReboot) { Invoke-Reboot } 18 | -------------------------------------------------------------------------------- /templates/win/2012r2-fips/x86_64/files/slipstream-filter: -------------------------------------------------------------------------------- 1 | # CAB files to be filtered out in case of DISM Issues 2 | -------------------------------------------------------------------------------- /templates/win/2012r2-fips/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2012r2-fips-x86_64", 3 | "beakerhost" : "windows2012r2-64", 4 | "vbox_guest_os" : "Windows2012_64", 5 | "vmware_guest_os" : "windows8srv-64", 6 | "vsphere_guest_os" : "windows8Server64Guest", 7 | "windows_version" : "Windows-2012r2", 8 | "post_memsize" : "6144", 9 | "image_name" : "Windows Server 2012 R2 SERVERSTANDARD", 10 | "product_key" : "D2N9P-3P6X9-2R39C-7RTCD-MDVJX", 11 | "iso_name" : "en_windows_server_2012_r2_with_update_x64_dvd_6052708_SlipStream_04.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "b1a00122c42a7441c522161c168e80fa", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.3", 17 | "ProductName" : "Windows Server 2012 R2 Standard", 18 | "EditionID" : "ServerStandard", 19 | "InstallationType" : "Server", 20 | "ReleaseID" : "N/A" 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2012r2-wmf5/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2012r2 WMF5.1 Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\DesktopExperience.installed")) 7 | { 8 | # Enable Desktop experience to get cleanmgr 9 | Write-Output "Enable Desktop-Experience" 10 | Add-WindowsFeature Desktop-Experience 11 | Touch-File "$PackerLogs\DesktopExperience.installed" 12 | if (Test-PendingReboot) { Invoke-Reboot } 13 | } 14 | 15 | 16 | if (-not (Test-Path "$PackerLogs\WMF5.installed")) 17 | { 18 | # Enable Desktop experience to get cleanmgr 19 | Write-Output "Install WMF5 Patch" 20 | Install_Win_Patch -PatchUrl "https://artifactory.delivery.puppetlabs.net/artifactory/generic/buildsources/windows/wmf5/Win8.1AndW2K12R2-KB3191564-x64.msu" 21 | Touch-File "$PackerLogs\WMF5.installed" 22 | Invoke-Reboot 23 | } 24 | -------------------------------------------------------------------------------- /templates/win/2012r2-wmf5/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2012r2-wmf5-x86_64", 3 | "beakerhost" : "windows2012r2-64", 4 | "vbox_guest_os" : "Windows2012_64", 5 | "vmware_guest_os" : "windows8srv-64", 6 | "vsphere_guest_os" : "windows8Server64Guest", 7 | "windows_version" : "Windows-2012r2", 8 | "image_name" : "Windows Server 2012 R2 SERVERSTANDARD", 9 | "product_key" : "D2N9P-3P6X9-2R39C-7RTCD-MDVJX", 10 | "iso_name" : "en_windows_server_2012_r2_with_update_x64_dvd_6052708_SlipStream_04.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "b1a00122c42a7441c522161c168e80fa", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.1", 16 | "ProductName" : "Windows Server 2012 R2 Standard", 17 | "EditionID" : "ServerStandard", 18 | "InstallationType" : "Server", 19 | "ReleaseID" : "N/A" 20 | 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2012r2/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2012r2 Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\DesktopExperience.installed")) 7 | { 8 | # Enable Desktop experience to get cleanmgr 9 | Write-Output "Enable Desktop-Experience" 10 | Add-WindowsFeature Desktop-Experience 11 | Touch-File "$PackerLogs\DesktopExperience.installed" 12 | if (Test-PendingReboot) { Invoke-Reboot } 13 | } 14 | -------------------------------------------------------------------------------- /templates/win/2012r2/x86_64/files/slipstream-filter: -------------------------------------------------------------------------------- 1 | # CAB files to be filtered out in case of DISM Issues 2 | -------------------------------------------------------------------------------- /templates/win/2012r2/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2012r2-x86_64", 3 | "beakerhost" : "windows2012r2-64", 4 | "vbox_guest_os" : "Windows2012_64", 5 | "vmware_guest_os" : "windows8srv-64", 6 | "vsphere_guest_os" : "windows8Server64Guest", 7 | "windows_version" : "Windows-2012r2", 8 | "post_memsize" : "6144", 9 | "image_name" : "Windows Server 2012 R2 SERVERSTANDARD", 10 | "product_key" : "D2N9P-3P6X9-2R39C-7RTCD-MDVJX", 11 | "iso_name" : "en_windows_server_2012_r2_with_update_x64_dvd_6052708_SlipStream_04.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "b1a00122c42a7441c522161c168e80fa", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.3", 17 | "ProductName" : "Windows Server 2012 R2 Standard", 18 | "EditionID" : "ServerStandard", 19 | "InstallationType" : "Server", 20 | "ReleaseID" : "N/A" 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2016-core/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2016 Core Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\kb4500641.installed")) 7 | { 8 | Write-Output "Installing Windows Update SSU kb4485447" 9 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/05/windows10.0-kb4500641-x64_66a086b2ae104c6b295b0da94500b85125a6a562.msu" 10 | Touch-File "$PackerLogs\kb4500641.installed" 11 | Invoke-Reboot 12 | } 13 | 14 | -------------------------------------------------------------------------------- /templates/win/2016-core/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2016-core-x86_64", 3 | "beakerhost" : "windows2016_core-64", 4 | "vbox_guest_os" : "Windows2016_64", 5 | "vmware_guest_os" : "windows8srv-64", 6 | "vsphere_guest_os" : "windows9Server64Guest", 7 | "windows_version" : "Windows-2016", 8 | "image_name" : "Windows Server 2016 SERVERSTANDARDCORE", 9 | "product_key" : "WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY", 10 | "iso_name" : "en_windows_server_2016_updated_feb_2018_x64_dvd_11636692.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "e8adeebcd8076702593469e33cc2d092", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows Server 2016 Standard", 17 | "EditionID" : "ServerStandard", 18 | "InstallationType" : "Server Core", 19 | "ReleaseID" : "1607" 20 | 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2016/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2016 Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\kb4500641.installed")) 7 | { 8 | Write-Output "Installing Windows Update SSU kb4485447" 9 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/05/windows10.0-kb4500641-x64_66a086b2ae104c6b295b0da94500b85125a6a562.msu" 10 | Touch-File "$PackerLogs\kb4500641.installed" 11 | Invoke-Reboot 12 | } 13 | -------------------------------------------------------------------------------- /templates/win/2016/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2016-x86_64", 3 | "beakerhost" : "windows2016-64", 4 | "vbox_guest_os" : "Windows2016_64", 5 | "vmware_guest_os" : "windows8srv-64", 6 | "vsphere_guest_os" : "windows9Server64Guest", 7 | "windows_version" : "Windows-2016", 8 | "image_name" : "Windows Server 2016 SERVERSTANDARD", 9 | "product_key" : "WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY", 10 | "iso_name" : "en_windows_server_2016_updated_feb_2018_x64_dvd_11636692.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "e8adeebcd8076702593469e33cc2d092", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows Server 2016 Standard", 17 | "EditionID" : "ServerStandard", 18 | "InstallationType" : "Server", 19 | "ReleaseID" : "1607" 20 | 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2019-core/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2019 Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\KB4523204.installed")) 7 | { 8 | Write-Output "Installing Windows Update SSU KB4523204" 9 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/11/windows10.0-kb4523204-x64_57098d9954748b2d7d767f73f60493bc592ff286.msu" 10 | Touch-File "$PackerLogs\KB4523204.installed" 11 | Invoke-Reboot 12 | } 13 | -------------------------------------------------------------------------------- /templates/win/2019-core/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "A_Comment" : "Windows 2019 Server GA Release", 3 | "template_name" : "win-2019-core-x86_64", 4 | "beakerhost" : "windows2016_core-64", 5 | "vbox_guest_os" : "Windows2016_64", 6 | "vmware_guest_os" : "windows8srv-64", 7 | "vsphere_guest_os" : "windows9Server64Guest", 8 | "windows_version" : "Windows-2019", 9 | "image_name" : "Windows Server 2019 SERVERSTANDARDCORE", 10 | "product_key" : "N69G4-B89J2-4G8F4-WWYCC-J464C", 11 | "iso_name" : "en_windows_server_2019_updated_july_2020_x64_dvd_94453821.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "8ebb6449cf4fbed73f772f8742f5d266", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.1", 17 | "ProductName" : "Windows Server 2019 Standard", 18 | "EditionID" : "ServerStandard", 19 | "InstallationType" : "Server Core", 20 | "ReleaseID" : "1809" 21 | 22 | } 23 | -------------------------------------------------------------------------------- /templates/win/2019-fr/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2016 Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\kb4500641.installed")) 7 | { 8 | Write-Output "Installing Windows Update SSU kb4485447" 9 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/05/windows10.0-kb4500641-x64_66a086b2ae104c6b295b0da94500b85125a6a562.msu" 10 | Touch-File "$PackerLogs\kb4500641.installed" 11 | Invoke-Reboot 12 | } 13 | -------------------------------------------------------------------------------- /templates/win/2019-fr/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2019-fr-x86_64", 3 | "locale" : "fr-FR", 4 | "winrm_username" : "Administrateur", 5 | "beakerhost" : "windows2019-64", 6 | "beaker_locale" : "fr", 7 | "vbox_guest_os" : "Windows2019_64", 8 | "vmware_guest_os" : "windows8srv-64", 9 | "vsphere_guest_os" : "windows9Server64Guest", 10 | "windows_version" : "Windows-2019", 11 | "image_name" : "Windows Server 2019 SERVERSTANDARD", 12 | "product_key" : "N69G4-B89J2-4G8F4-WWYCC-J464C", 13 | "iso_name" : "fr_windows_server_2019_updated_july_2020_x64_dvd_f41ee5a9.iso", 14 | "iso_checksum_type" : "md5", 15 | "iso_checksum" : "9416ae5741161af0dbe999e5fcba444b", 16 | "boot_command" : "", 17 | 18 | "CurrentVersion" : "6.3", 19 | "ProductName" : "Windows Server 2019 Standard", 20 | "EditionID" : "ServerStandard", 21 | "InstallationType" : "Server", 22 | "ReleaseID" : "1809" 23 | } 24 | -------------------------------------------------------------------------------- /templates/win/2019-ja/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2012r2 JA Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\DesktopExperience.installed")) 7 | { 8 | # Enable Desktop experience to get cleanmgr 9 | Write-Output "Enable Desktop-Experience" 10 | Add-WindowsFeature Desktop-Experience 11 | Touch-File "$PackerLogs\DesktopExperience.installed" 12 | if (Test-PendingReboot) { Invoke-Reboot } 13 | } 14 | -------------------------------------------------------------------------------- /templates/win/2019-ja/x86_64/files/slipstream-filter: -------------------------------------------------------------------------------- 1 | # CAB files to be filtered out in case of DISM Issues 2 | -------------------------------------------------------------------------------- /templates/win/2019-ja/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-2019-ja-x86_64", 3 | "locale" : "ja-JP", 4 | "beakerhost" : "windows2019-64", 5 | "vbox_guest_os" : "Windows2019_64", 6 | "vmware_guest_os" : "windows8srv-64", 7 | "vsphere_guest_os" : "windows8Server64Guest", 8 | "beaker_locale" : "ja", 9 | "windows_version" : "Windows-2019", 10 | "image_name" : "Windows Server 2019 SERVERSTANDARD", 11 | "product_key" : "N69G4-B89J2-4G8F4-WWYCC-J464C", 12 | "iso_name" : "ja_windows_server_2019_updated_july_2020_x64_dvd_09476f7d.iso", 13 | "iso_checksum_type" : "md5", 14 | "iso_checksum" : "75fbba1890c32df63ca3a2afb432084c", 15 | "boot_command" : "", 16 | 17 | "CurrentVersion" : "6.3", 18 | "ProductName" : "Windows Server 2019 Standard", 19 | "EditionID" : "ServerStandard", 20 | "InstallationType" : "Server", 21 | "ReleaseID" : "1809" 22 | 23 | } 24 | -------------------------------------------------------------------------------- /templates/win/2019-mock/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2019 Mock Platform Generation" 5 | 6 | # Create the Mock Platform File. 7 | 8 | Touch-File "$PackerLogs\Mock.Platform" 9 | -------------------------------------------------------------------------------- /templates/win/2019-mock/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "A_Comment" : "Windows 2019 Mock build for pipeline testing", 3 | "template_name" : "win-2019-mock-x86_64", 4 | "beakerhost" : "windows2019-64", 5 | "vbox_guest_os" : "Windows2016_64", 6 | "vmware_guest_os" : "windows8srv-64", 7 | "vsphere_guest_os" : "windows9Server64Guest", 8 | "windows_version" : "Windows-2019", 9 | "image_name" : "Windows Server 2019 SERVERSTANDARD", 10 | "product_key" : "N69G4-B89J2-4G8F4-WWYCC-J464C", 11 | "iso_name" : "en_windows_server_2019_updated_july_2020_x64_dvd_94453821.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "8ebb6449cf4fbed73f772f8742f5d266", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.3", 17 | "ProductName" : "Windows Server 2019 Standard", 18 | "EditionID" : "ServerStandard", 19 | "InstallationType" : "Server", 20 | "ReleaseID" : "1809", 21 | 22 | "valid_exit_codes" : "0,1", 23 | "winupdate_valid_exit_codes": "0,1" 24 | 25 | } 26 | -------------------------------------------------------------------------------- /templates/win/2019-wslssh/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2019 Package Customisation" 5 | 6 | # None Needed 7 | -------------------------------------------------------------------------------- /templates/win/2019-wslssh/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "A_Comment" : "Windows 2019 Server GA Release WSL/SSH", 3 | "template_name" : "win-2019-wslssh-x86_64", 4 | "beakerhost" : "windows2019-64", 5 | "vbox_guest_os" : "Windows2016_64", 6 | "vmware_guest_os" : "windows8srv-64", 7 | "vsphere_guest_os" : "windows9Server64Guest", 8 | "windows_version" : "Windows-2019", 9 | "image_name" : "Windows Server 2019 SERVERSTANDARD", 10 | "product_key" : "N69G4-B89J2-4G8F4-WWYCC-J464C", 11 | "iso_name" : "en_windows_server_2019_updated_july_2020_x64_dvd_94453821.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "8ebb6449cf4fbed73f772f8742f5d266", 14 | "boot_command" : "", 15 | 16 | "ssh_platform" : "wsl_ssh", 17 | 18 | "CurrentVersion" : "6.3", 19 | "ProductName" : "Windows Server 2019 Standard", 20 | "EditionID" : "ServerStandard", 21 | "InstallationType" : "Server", 22 | "ReleaseID" : "1809" 23 | } 24 | -------------------------------------------------------------------------------- /templates/win/2019/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2019 Package Customisation" 5 | 6 | if (-not (Test-Path "$PackerLogs\KB4523204.installed")) 7 | { 8 | Write-Output "Installing Windows Update SSU KB4523204" 9 | Install_Win_Patch -PatchUrl "http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/11/windows10.0-kb4523204-x64_57098d9954748b2d7d767f73f60493bc592ff286.msu" 10 | Touch-File "$PackerLogs\KB4523204.installed" 11 | Invoke-Reboot 12 | } 13 | -------------------------------------------------------------------------------- /templates/win/2019/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "A_Comment" : "Windows 2019 Server GA Release", 3 | "template_name" : "win-2019-x86_64", 4 | "beakerhost" : "windows2019-64", 5 | "vbox_guest_os" : "Windows2016_64", 6 | "vmware_guest_os" : "windows8srv-64", 7 | "vsphere_guest_os" : "windows9Server64Guest", 8 | "windows_version" : "Windows-2019", 9 | "image_name" : "Windows Server 2019 SERVERSTANDARD", 10 | "product_key" : "N69G4-B89J2-4G8F4-WWYCC-J464C", 11 | "iso_name" : "en_windows_server_2019_updated_july_2020_x64_dvd_94453821.iso", 12 | "iso_checksum_type" : "md5", 13 | "iso_checksum" : "8ebb6449cf4fbed73f772f8742f5d266", 14 | "boot_command" : "", 15 | 16 | "CurrentVersion" : "6.3", 17 | "ProductName" : "Windows Server 2019 Standard", 18 | "EditionID" : "ServerStandard", 19 | "InstallationType" : "Server", 20 | "ReleaseID" : "1809" 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/2022/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-2022 Package Customisation" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | -------------------------------------------------------------------------------- /templates/win/2022/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "A_Comment" : "Windows 2022 Server GA Release", 3 | "template_name" : "win-2022-x86_64", 4 | "beakerhost" : "windows2022-64", 5 | "vbox_guest_os" : "Windows2022_64", 6 | "vmware_guest_os" : "windows8srv-64", 7 | "vsphere_guest_os" : "windows9Server64Guest", 8 | "windows_version" : "Windows-2022", 9 | "image_name" : "Windows Server 2022 SERVERDATACENTER", 10 | "iso_name" : "20348.169.210806-2348.fe_release_svc_refresh_SERVER_EVAL_x64FRE_en-us.iso", 11 | "iso_checksum_type" : "sha256", 12 | "iso_checksum" : "4f1457c4fe14ce48c9b2324924f33ca4f0470475e6da851b39ccbf98f44e7852", 13 | "boot_command" : "", 14 | "ProductName" : "Windows Server 2022 Datacenter Evaluation", 15 | "EditionID" : "ServerDatacenterEval", 16 | "InstallationType" : "Server", 17 | "DisplayVersion" : "21H2" 18 | } 19 | -------------------------------------------------------------------------------- /templates/win/81/x86_64/files/platform-packages.ps1: -------------------------------------------------------------------------------- 1 | 2 | . C:\Packer\Scripts\windows-env.ps1 3 | 4 | Write-Output "Running Win-8.1 Package Customisation" 5 | 6 | # Flag to remove Apps packages and other nuisances 7 | Touch-File "$PackerLogs\AppsPackageRemove.Required" 8 | -------------------------------------------------------------------------------- /templates/win/81/x86_64/files/slipstream-filter: -------------------------------------------------------------------------------- 1 | # CAB files to be filtered out in case of DISM Issues 2 | Windows8.1-KB3080457-x64.cab 3 | Windows8.1-KB3081397-x64.cab 4 | Windows8.1-KB3081398-x64.cab 5 | Windows8.1-KB3081399-x64.cab 6 | Windows8.1-KB3081401-x64.cab 7 | Windows8.1-KB3081403-x64.cab 8 | Windows8.1-KB3081403-x64.cab 9 | Windows8.1-KB3081405-x64.cab 10 | -------------------------------------------------------------------------------- /templates/win/81/x86_64/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "template_name" : "win-81-x86_64", 3 | "beakerhost" : "windows81-64", 4 | "vbox_guest_os" : "Windows81_64", 5 | "vmware_guest_os" : "windows8-64", 6 | "vsphere_guest_os" : "windows8_64Guest", 7 | "windows_version" : "Windows-8.1", 8 | "image_name" : "Windows 8.1 Enterprise", 9 | "product_key" : "MHF9N-XY6XB-WVXMC-BTDCT-MKKG7", 10 | "iso_name" : "en_windows_8.1_enterprise_with_update_x64_dvd_6054382_SlipStream_02.iso", 11 | "iso_checksum_type" : "md5", 12 | "iso_checksum" : "e37e936f26969c42866b9fef67d7545d", 13 | "boot_command" : "", 14 | 15 | "CurrentVersion" : "6.3", 16 | "ProductName" : "Windows 8.1 Enterprise", 17 | "EditionID" : "Enterprise", 18 | "InstallationType" : "Client", 19 | "ReleaseID" : "N/A" 20 | 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/common/puppet/forge-modules.txt: -------------------------------------------------------------------------------- 1 | # These modules are downloaded from the forge during a packer build 2 | # Like most files, anything to the right of a hash (#) is ignored and is considered a comment by the parser 3 | # Only the latest module is used from the public Forge 4 | # Specific versions are supported now (e.g. we need to stick to Powershell 1.0.6) 5 | # TODO Support custom forge URLs 6 | 7 | puppetlabs-pwshlib 8 | puppetlabs-powershell 9 | puppetlabs-registry 10 | puppetlabs-stdlib 11 | puppet-download_file 12 | puppet-archive 13 | puppet-windows_env 14 | puppet-windowsfeature 15 | puppetlabs-reboot 16 | ayohrling-local_security_policy 17 | -------------------------------------------------------------------------------- /templates/win/common/puppet/hiera.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 5 3 | defaults: 4 | datadir: C:\Packer\puppet\data 5 | data_hash: json_data 6 | 7 | hierarchy: 8 | - name: "Build data" 9 | path: "build.json" 10 | 11 | - name: "Common data" 12 | path: "common.json" 13 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/manifests/gpupdate.pp: -------------------------------------------------------------------------------- 1 | # for a GPO update. 2 | define windows_group_policy::gpupdate( 3 | Optional[Pattern[/^(All|Machine|User)$/]] $target = 'All', 4 | Optional[Boolean] $force = true, 5 | Optional[Boolean] $logoutput = false, 6 | Optional[Integer] $timeout = 30, 7 | ) 8 | { 9 | # TODO Support not forcing 10 | # TODO Support different target types 11 | # TODO watch out of for prompts. Need to pipe in 'N' 12 | # TODO Need to figure out how to do RefreshOnly stuff 13 | 14 | exec { "GPO-GPUPDATE-${name}": 15 | command => "& cmd /c gpupdate /force /Wait:${timeout}", 16 | provider => powershell, 17 | logoutput => $logoutput, 18 | timeout => $timeout, 19 | refreshonly => true, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class windows_group_policy { 2 | } 3 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/manifests/local/machine.pp: -------------------------------------------------------------------------------- 1 | # Update a local machine policy 2 | define windows_group_policy::local::machine( 3 | Pattern[/^(present|absent)$/] $ensure = 'present', 4 | String $key = '', 5 | String $value = '', 6 | Pattern[/^(REG_SZ|REG_DWORD)$/] $type = 'REG_SZ', 7 | Variant[String,Integer] $data = '', 8 | Optional[Boolean] $logoutput = false, 9 | ) 10 | { 11 | $policy_type = 'Machine' 12 | 13 | if $ensure in ['present'] { 14 | exec { "GPO-Local-Machine-${name}": 15 | command => template('windows_group_policy/script_header.ps1', 16 | 'windows_group_policy/PolFileEditor.ps1', 17 | 'windows_group_policy/local_gpo.ps1', 18 | 'windows_group_policy/command-set.ps1'), 19 | unless => template('windows_group_policy/script_header.ps1', 20 | 'windows_group_policy/PolFileEditor.ps1', 21 | 'windows_group_policy/local_gpo.ps1', 22 | 'windows_group_policy/command-unless.ps1'), 23 | provider => powershell, 24 | logoutput => $logoutput, 25 | } 26 | } else { 27 | # Do stuff to remove it 28 | Notify{ '***** Removing GPOs is NOT IMPLEMENTED': } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/manifests/local/user.pp: -------------------------------------------------------------------------------- 1 | # Update a local user policy 2 | define windows_group_policy::local::user( 3 | Pattern[/^(present|absent)$/] $ensure = 'present', 4 | String $key = '', 5 | String $value = '', 6 | Pattern[/^(REG_SZ|REG_DWORD)$/] $type = 'REG_SZ', 7 | Variant[String,Integer] $data = '', 8 | Optional[Boolean] $logoutput = false, 9 | ) 10 | { 11 | $policy_type = 'User' 12 | 13 | if $ensure in ['present'] { 14 | exec { "GPO-Local-User-${name}": 15 | command => template('windows_group_policy/script_header.ps1', 16 | 'windows_group_policy/PolFileEditor.ps1', 17 | 'windows_group_policy/local_gpo.ps1', 18 | 'windows_group_policy/command-set.ps1'), 19 | unless => template('windows_group_policy/script_header.ps1', 20 | 'windows_group_policy/PolFileEditor.ps1', 21 | 'windows_group_policy/local_gpo.ps1', 22 | 'windows_group_policy/command-unless.ps1'), 23 | provider => powershell, 24 | logoutput => $logoutput, 25 | } 26 | } else { 27 | # Do stuff to remove it 28 | Notify{ '***** Removing GPOs is NOT IMPLEMENTED': } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "glennsarti-windows_group_policy", 3 | "version": "1.0.0", 4 | "author": "glennsarti", 5 | "license": "Apache-2.0 Update this!", 6 | "summary": "Module that will modify local group policy", 7 | "source": "https://github.com/glennsarti/glennsarti.git", 8 | "project_page": "https://github.com/glennsarti/glennsarti", 9 | "issues_url": "https://github.com/glennsarti/glennsarti/issues", 10 | "operatingsystem_support": [ 11 | { 12 | "operatingsystem": "windows", 13 | "operatingsystemrelease": [ "2012R2" ] 14 | } 15 | ], 16 | "requirements": [ 17 | { 18 | "name": "pe", 19 | "version_requirement": "3.x" 20 | }, 21 | { 22 | "name": "puppet", 23 | "version_requirement": "3.x" 24 | } 25 | ], 26 | "dependencies": [ 27 | { 28 | "name": "puppetlabs/stdlib", 29 | "version_requirement": ">= 3.0.0 < 5.0.0" 30 | }, 31 | { 32 | "name": "puppetlabs/powershell", 33 | "version_requirement": ">= 1.0.1" 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/templates/command-set.ps1: -------------------------------------------------------------------------------- 1 | 2 | # command-set.ps1 - newline is REQUIRED above 3 | # Set the policy value 4 | 5 | $isSet = $false 6 | $objPolFile = Open-PolicyFile 7 | 8 | if ($objPolFile -ne $null) { 9 | $isSet = Set-PolicySetting $objPolFile 10 | } 11 | 12 | if ($isSet) { exit 0 } else { exit 1 } 13 | # Blank line at end is also REQUIRED 14 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/templates/command-unless.ps1: -------------------------------------------------------------------------------- 1 | 2 | # command-unless.ps1 - newline is REQUIRED above 3 | # Checking if the specified policy exists 4 | 5 | $isFound = $false 6 | $objPolFile = Open-PolicyFile 7 | 8 | if ($objPolFile -ne $null) { 9 | $isFound = $objPolFile.Contains($PolicyKeyName,$PolicyValueName) 10 | if ($isFound) { 11 | $polEntry = $objPolFile.GetValue($PolicyKeyName,$PolicyValueName) 12 | 13 | $isFound = Compare-PolicyValueIsSameAs -objPolicyEntry $polEntry -Value $PolicyValue 14 | } 15 | } 16 | 17 | if ($isFound) { exit 0 } else { exit 1 } 18 | # Blank line at end is also REQUIRED 19 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/templates/ext_command-set.ps1: -------------------------------------------------------------------------------- 1 | 2 | # ext_command-set.ps1 - newline is REQUIRED above 3 | # Setting the list of extension guids 4 | 5 | $isSet = $false 6 | 7 | if ($PolicyType -eq 'User') { 8 | $currentList = (Get-GPExtensionListFromGPT).User 9 | } else { 10 | $currentList = (Get-GPExtensionListFromGPT).Machine 11 | } 12 | $shouldList = Convert-GUIDListToHashTable -List $ExtensionList 13 | 14 | # Append missing elements from shouldList into currentLis 15 | $shouldList.GetEnumerator() | ForEach-Object -Process { 16 | if (-not $currentList.ContainsKey($_.Key)) { 17 | $currentList.Add($_.Key, $_.Value) 18 | } 19 | } 20 | $isSet = Set-GPTExtensionGUIDs -GUIDList $currentList 21 | 22 | if ($isSet) { exit 0 } else { exit 1 } 23 | # Blank line at end is also REQUIRED 24 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/templates/ext_command-unless.ps1: -------------------------------------------------------------------------------- 1 | 2 | # ext_command-unless.ps1 - newline is REQUIRED above 3 | # Checking if the list of extension guids are specified 4 | 5 | if ($PolicyType -eq 'User') { 6 | $currentList = (Get-GPExtensionListFromGPT).User 7 | } else { 8 | $currentList = (Get-GPExtensionListFromGPT).Machine 9 | } 10 | $shouldList = Convert-GUIDListToHashTable -List $ExtensionList 11 | 12 | # Check if all elements in shouldList appear in currentLis 13 | $isFound = $true 14 | $shouldList.GetEnumerator() | ForEach-Object -Process { 15 | $isFound = $isFound -and ($currentList.ContainsKey($_.Key)) 16 | } 17 | 18 | if ($isFound) { exit 0 } else { exit 1 } 19 | # Blank line at end is also REQUIRED 20 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_group_policy/templates/local_gpo_ext.ps1: -------------------------------------------------------------------------------- 1 | 2 | # local_gpo_ext.ps1 - newline is REQUIRED above 3 | $PolicyType = '<%= @policy_type %>' # Machine or User 4 | $ExtensionList = '<%= @policy_extensionlist %>' 5 | 6 | #Write-Host "PolicyType = $PolicyType" 7 | #Write-Host "ExtensionList = $ExtensionList" 8 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/data/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "packer": { 3 | "template_name": "Template-Undef", 4 | "packer_sha": "XXXXXXXXXXXX", 5 | "version": "YYYYMMDD", 6 | "build_date": "YYYY-MM-DD", 7 | "template_type": "Undefined", 8 | "memsize": "0000", 9 | "admin_username": "Administrator", 10 | "admin_password": "PackerAdmin", 11 | "qa_password_plain": "XXXXXXX", 12 | "windows": { 13 | "currentversion": "X.Y", 14 | "productname": "Windows Edition Name", 15 | "editionid": "EditionID", 16 | "installationtype": "Installation Type", 17 | "releaseid": "N/A" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/files/master_preferences: -------------------------------------------------------------------------------- 1 | { 2 | "homepage_is_newtabpage" : false, 3 | "browser": { 4 | "show_home_button": true, 5 | "check_default_browser" : false 6 | }, 7 | "homepage": "about:blank", 8 | "distribution": { 9 | "skip_first_run_ui": true, 10 | "show_welcome_page": false, 11 | "make_chrome_default": false, 12 | "suppress_first_run_default_browser_prompt": true 13 | }, 14 | "sync_promo" : { 15 | "user_skipped" : true, 16 | "show_on_first_run_allowed" : false 17 | }, 18 | "first_run_tabs" : [ 19 | "about:blank" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/apps/gitforwin.pp: -------------------------------------------------------------------------------- 1 | # Installs Git for Windows and configures start page. 2 | class windows_template::apps::gitforwin() 3 | { 4 | $gitforwindownloadurl = 'https://artifactory.delivery.puppetlabs.net/artifactory/generic/buildsources/windows/gitforwin' 5 | 6 | # Select package name/install title depending on archictecture 7 | if ($::architecture == 'x86') { 8 | $gitforwininstaller = 'Git-2.29.2.2-32-bit.exe' 9 | } else { 10 | $gitforwininstaller = 'Git-2.29.2.2-64-bit.exe' 11 | } 12 | 13 | download_file { $gitforwininstaller : 14 | url => "${gitforwindownloadurl}/${gitforwininstaller}", 15 | destination_directory => $::packer_downloads 16 | } 17 | -> package { 'Git version 2.29.2.2': # This version has strange string. 18 | ensure => installed, 19 | source => "${::packer_downloads}\\${gitforwininstaller}", 20 | install_options => ['/VERYSILENT', "/LOADINF=${::packer_config}\\gitforwin.inf"] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/apps/notepadplusplus.pp: -------------------------------------------------------------------------------- 1 | # Installs and configures NotePad Plus Plus 2 | # with the updater (and its irritating prompt) disabled. 3 | 4 | class windows_template::apps::notepadplusplus() 5 | { 6 | $notepadppdownloadurl = 'https://artifactory.delivery.puppetlabs.net/artifactory/generic/buildsources/windows/notepadplusplus' 7 | 8 | # Select package name/install title depending on archictecture 9 | if ($::architecture == 'x86') { 10 | $notepadppinstaller = 'npp.7.9.1.Installer.exe' 11 | $notepadpparchtype = '(32-bit x86)' 12 | } else { 13 | $notepadppinstaller = 'npp.7.9.1.Installer.x64.exe' 14 | $notepadpparchtype = '(64-bit x64)' 15 | } 16 | 17 | download_file { $notepadppinstaller : 18 | url => "${notepadppdownloadurl}/${notepadppinstaller}", 19 | destination_directory => $::packer_downloads 20 | } 21 | -> package { "Notepad++ ${notepadpparchtype}": 22 | ensure => installed, 23 | source => "${::packer_downloads}\\${notepadppinstaller}", 24 | # As per NPP 7.5, the /noUpdater option disables the updater installation. 25 | # https://notepad-plus-plus.org/download/v7.5.html 26 | install_options => ['/S','/noUpdater'] 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/apps/powershell7.pp: -------------------------------------------------------------------------------- 1 | # Installs and configures Powershell 6 (core) 2 | 3 | class windows_template::apps::powershell7() 4 | { 5 | $ps7coredownloadurl = 'https://artifactory.delivery.puppetlabs.net/artifactory/generic/buildsources/windows/powershell7' 6 | 7 | # Select package name/install title depending on archictecture 8 | if ($::architecture == 'x86') { 9 | $ps7coreinstaller = 'PowerShell-7.1.0-win-x86.msi' 10 | $ps7corearchtype = 'x86' 11 | } else { 12 | $ps7coreinstaller = 'PowerShell-7.1.0-win-x64.msi' 13 | $ps7corearchtype = 'x64' 14 | } 15 | 16 | download_file { $ps7coreinstaller : 17 | url => "${ps7coredownloadurl}/${ps7coreinstaller}", 18 | destination_directory => $::packer_downloads 19 | } 20 | -> package { "PowerShell 7-${ps7corearchtype}": 21 | ensure => installed, 22 | source => "${::packer_downloads}\\${ps7coreinstaller}", 23 | install_options => ['/q'] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/apps/sysinternals.pp: -------------------------------------------------------------------------------- 1 | # Downloads and extracts some of the sysinternals suite. 2 | # Set the "License Accepted" registry key for sysinternals tools. 3 | # Sets Path to include the utilities. 4 | class windows_template::apps::sysinternals() 5 | { 6 | include windows_template::apps::sysinternals_pkgs 7 | 8 | windows_env { "PATH=${::sysinternals}": 9 | # Update Path to include sysinternals path - this seems to be all thats necessary. 10 | ensure => present, 11 | mergemode => insert, 12 | require => Class['windows_template::apps::sysinternals_pkgs'], 13 | 14 | } -> exec { 'Enable AutoLogon': 15 | # 16 | # Check to see if AutoLogon is enabled and enable it. 17 | # (this is check only as the initial unattend should have done this already) 18 | command => 'autologon -AcceptEula Administrator . PackerAdmin', 19 | unless => 'try {if ($(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name "AutoAdminLogon").AutoAdminLogon -eq 1) {Exit 0} else {Exit 1}} catch {Exit 1}', # lint:ignore:140chars 20 | provider => powershell, 21 | logoutput => true, 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/bootcfg/bootcfg.pp: -------------------------------------------------------------------------------- 1 | # Setup the boot configuration 2 | # 3 | class windows_template::bootcfg::bootcfg() 4 | { 5 | # Get active scheme and return 1 if it doesn't match expected value 6 | # The check needs to consider no bootlog setting and boolog=no 7 | $bcd_check = @(BCD_CHECK) 8 | $bootlogval = bcdedit /enum "{current}" | select-string "^bootlog" -Context 0,0 9 | if ($bootlogval.count -eq 0) {Exit 1} 10 | if ($bootlogval -notmatch "Yes") {Exit 1} 11 | Exit 0 12 | | BCD_CHECK 13 | 14 | exec { 'Enable Bootlog': 15 | command => 'bcdedit /set "{current}" bootlog yes', 16 | unless => $bcd_check, 17 | provider => powershell, 18 | logoutput => true, 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class windows_template { 2 | } 3 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/policies/security_policies.pp: -------------------------------------------------------------------------------- 1 | # Class to relax the security policies using ayohrling/local_security_policy 2 | # 3 | class windows_template::policies::security_policies () 4 | { 5 | local_security_policy { 'Maximum password age': 6 | ensure => present, 7 | policy_value => '-1', 8 | } 9 | 10 | local_security_policy { 'Minimum password age': 11 | ensure => present, 12 | policy_value => '0', 13 | } 14 | 15 | local_security_policy { 'Minimum password length': 16 | ensure => present, 17 | policy_value => '0', 18 | } 19 | 20 | local_security_policy { 'Password must meet complexity requirements': 21 | ensure => present, 22 | policy_value => '0', 23 | } 24 | 25 | local_security_policy { 'Enforce password history': 26 | ensure => present, 27 | policy_value => '0', 28 | } 29 | 30 | local_security_policy { 'Store passwords using reversible encryption': 31 | ensure => present, 32 | policy_value => '0', 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/services/configure_services.pp: -------------------------------------------------------------------------------- 1 | # Set the service states 2 | # 3 | class windows_template::services::configure_services() 4 | { 5 | # TODO Disable Windows Search Service if it exists 6 | 7 | # Used to configure WinRM Service, but this had to be removed with the 8 | # revised puppet configure loop within a reboot cycle - enabling WinRM 9 | # here has the effect of completely breaking the configure cycle. 10 | 11 | # Netbios and lmosts are handled in scripting as they 12 | # need to be sequenced carefully during the post-clone-first-boot 13 | 14 | # Disable Windows Update service 15 | service { 'wuauserv': 16 | ensure => 'stopped', 17 | enable => false, 18 | } 19 | 20 | # Following services are only considered in Non-Core installation. 21 | if (lookup('packer.windows.installationtype') != 'Server Core') 22 | { 23 | # Disable Audiosrv (Audio) service 24 | service { 'Audiosrv': 25 | ensure => 'stopped', 26 | enable => false, 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /templates/win/common/puppet/windows_template/manifests/vagrant.pp: -------------------------------------------------------------------------------- 1 | class windows_template::vagrant () 2 | { 3 | # TODO Add vagrant user 4 | } -------------------------------------------------------------------------------- /templates/win/common/scripts/acceptance/bootstrap-packerbuild/PackerDirectories.Tests.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Check Packer directories have been created. 4 | .DESCRIPTION 5 | This is run post-bootstrap to verify that the Packer directory set 6 | has been created. 7 | #> 8 | 9 | . C:\Packer\Scripts\windows-env.ps1 10 | 11 | describe 'Packer Directory Tests' { 12 | $pdirs = @{pdir = "C:\Packer"}, 13 | @{pdir = "C:\Packer\Logs"}, 14 | @{pdir = "C:\Packer\Scripts"}, 15 | @{pdir = "C:\Packer\Config"}, 16 | @{pdir = "C:\Packer\PsModules"}, 17 | @{pdir = "C:\Packer\Acceptance"}, 18 | @{pdir = "C:\Packer\Downloads"}, 19 | @{pdir = "C:\Packer\SysInternals"} 20 | 21 | it 'Packer Directory should exist' -TestCases $pdirs { 22 | param ($pdir) 23 | $pdir | Should Exist 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /templates/win/common/scripts/acceptance/cygwin/cygwin.Tests.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Cygwin installation tests 4 | .DESCRIPTION 5 | A set of tests to verify that Cygwin was installed and completed. 6 | #> 7 | 8 | . C:\Packer\Scripts\windows-env.ps1 9 | 10 | 11 | # Basic set of initial tests - will add more correct verification of cygwin later. 12 | 13 | describe 'Cygwin Directory Tests' { 14 | $cdirs = @{cdir = "$CygWinDir\bin"}, 15 | @{cdir = "$CygWinDir\dev"}, 16 | @{cdir = "$CygWinDir\etc"}, 17 | @{cdir = "$CygWinDir\home"}, 18 | @{cdir = "$CygWinDir\lib"}, 19 | @{cdir = "$CygWinDir\sbin"}, 20 | @{cdir = "$CygWinDir\tmp"}, 21 | @{cdir = "$CygWinDir\usr"}, 22 | @{cdir = "$CygWinDir\var"} 23 | 24 | it 'Cygwin Directory should exist' -TestCases $cdirs { 25 | param ($cdir) 26 | $cdir | Should Exist 27 | } 28 | } 29 | 30 | describe 'Cygwin Executable Tests' { 31 | $cexes = @{cexe = "$CygWinDir\bin\cygcheck.exe"}, 32 | @{cexe = "$ENV:WINDIR\system32\setup-$ARCH.exe"} 33 | 34 | it 'Cygwin Executable should be installed' -TestCases $cexes { 35 | param ($cexe) 36 | $cexe | Should Exist 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /templates/win/common/scripts/acceptance/platform/DateTime.Tests.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Date Time Tests 4 | .DESCRIPTION 5 | 1. Timezone should be UTC 6 | 2. Boot time .vs. current time test 7 | #> 8 | 9 | . C:\Packer\Scripts\windows-env.ps1 10 | 11 | # Pick up the Timezone from systeminfo - with Localised Timezone Title 12 | $Timezone = $(systeminfo | findstr /L $TZTitle) 13 | # Note (Get-CimInstance -class Win32_OperatingSystem).LastBootUpTime would be better here, but its not available in PS2. 14 | # Noting for future. 15 | $LastBoot = (Get-WmiObject -class Win32_OperatingSystem | Select-Object @{label='LastBootUpTime';expression={$_.ConvertToDateTime($_.LastBootUpTime)}}).LastBootUpTime 16 | $CurrentTime = Get-Date 17 | 18 | describe 'Date/Time Tests' { 19 | 20 | it 'Timezone is UTC' { 21 | "$Timezone" | Should Match "\(UTC\)" 22 | } 23 | 24 | it 'Last boot is before current time' { 25 | $CurrentTime | Should BeGreaterThan $LastBoot 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /templates/win/common/scripts/acceptance/platform/DirectoryCleanup.Tests.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Directory Cleanup has happened. 4 | .DESCRIPTION 5 | A set of tests to verify that directory remnants left over 6 | after the Puppet run have been removed, so that any CI testing 7 | is running on a "Clean System". 8 | #> 9 | 10 | . C:\Packer\Scripts\windows-env.ps1 11 | 12 | describe "Directory Cleanup should have happened" { 13 | 14 | it 'Program Data Dir Puppetlabs should not exist' { 15 | "$ENV:ProgramData\PuppetLabs" | Should Not Exist 16 | } 17 | 18 | it 'Program Dir Puppet Labs should not exist' { 19 | "$ENV:ProgramFiles\Puppet Labs" | Should Not Exist 20 | } 21 | 22 | # This test is slightly superfluous as if the Puppet Labs directory aren't thiere, this 23 | # will also be clear - however, if Puppet Agent is uninstalled, this .dll is kept, so 24 | # its useful as a belt and braces test to "prove" that a correct and full cleanup has happened. 25 | it 'puppetres.dll Should Not Exist' { 26 | "$ENV:PROGRAMFILES\Puppet Labs\Puppet\puppet\bin\puppetres.dll" | Should Not Exist 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /templates/win/common/scripts/acceptance/platform/Services.Tests.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Service Tests 4 | .DESCRIPTION 5 | E.g. Windows Update Disabled, Google Services Disabled 6 | #> 7 | 8 | . C:\Packer\Scripts\windows-env.ps1 9 | 10 | describe 'Services Tests' { 11 | 12 | it 'Windows Update should be Disabled' { 13 | # Using Get-WIMIObject here instead Get-Service for Powershell 2 compatibility reasons. 14 | $WuaServStartMode = Get-WMIObject win32_service -filter "name='wuauserv'" | select -expand StartMode 15 | "$WuaServStartMode" | Should Match "Disabled" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /templates/win/common/scripts/acceptance/puppet/puppet.Tests.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Test that Puppet Run Succeeded. 4 | .DESCRIPTION 5 | At the moment just test that the succeeded file is there. 6 | #> 7 | 8 | . C:\Packer\Scripts\windows-env.ps1 9 | 10 | describe 'Puppet Run Succeeded' { 11 | it 'wherein the succeeded file exists and is in place' { 12 | "$PackerLogs/Puppet.succeeded" | Should Exist 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /templates/win/common/scripts/acceptance/puppet/winpackages.Tests.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Test that Windows Packages are installed. 4 | .DESCRIPTION 5 | Tests that NotePad++, Git for Windows and Chrome is installed. 6 | #> 7 | 8 | . C:\Packer\Scripts\windows-env.ps1 9 | 10 | describe 'Windows Packages are installed' { 11 | 12 | it 'Git for Windows' { 13 | "$ENV:PROGRAMFILES\Git\git-bash.exe" | Should Exist 14 | "$ENV:PROGRAMFILES\Git\git-cmd.exe" | Should Exist 15 | } 16 | 17 | if ($PSVersionTable.PSVersion.Major -ge 4) { 18 | # Powershell 6 is only installed if WMF 4.0 or greater is installed. 19 | it 'Powershell 7' { 20 | "$ENV:PROGRAMFILES\PowerShell\7\pwsh.exe" | Should Exist 21 | } 22 | } 23 | 24 | } 25 | 26 | describe -Tag 'DesktopOnly' 'Windows Desktop Packages are installed' { 27 | it 'NotePad++ should be installed' { 28 | "$ENV:PROGRAMFILES\Notepad++\notepad++.exe" | Should Exist 29 | } 30 | 31 | it 'Chrome should be installed' { 32 | "$ENV:PROGRAMFILES\Google\Chrome\Application\chrome.exe" | Should Exist 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /templates/win/common/scripts/bootstrap/AddTrust_External_CA_Root.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/puppetlabs/puppetlabs-packer/c2f5cc2b2c30eec80bc86847cd7db61fb4105e66/templates/win/common/scripts/bootstrap/AddTrust_External_CA_Root.cer -------------------------------------------------------------------------------- /templates/win/common/scripts/bootstrap/bootstrap-base.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | SETLOCAL 4 | 5 | SET LOGFILE=%WINDIR%\TEMP\bootstrap-base.bat.log 6 | 7 | ECHO Script Started >> %LOGFILE% 8 | 9 | ECHO Setting PS Execution policy to RemoteSigned (Native) >> %LOGFILE% 10 | powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force" >> %LOGFILE% 11 | 12 | ECHO Setting PS Execution policy to RemoteSigned (32bit on 64bit OS) >> %LOGFILE% 13 | C:\Windows\SysWOW64\cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force" >> %LOGFILE% -------------------------------------------------------------------------------- /templates/win/common/scripts/bootstrap/shutdown-packerbuild.ps1: -------------------------------------------------------------------------------- 1 | # 2 | # Generalised shutdown script to utilise a common shutdown command with OS variants. 3 | # 4 | 5 | 6 | . C:\Packer\Scripts\windows-env.ps1 7 | 8 | Shutdown-PackerBuild 9 | -------------------------------------------------------------------------------- /templates/win/common/scripts/common/makecert.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/puppetlabs/puppetlabs-packer/c2f5cc2b2c30eec80bc86847cd7db61fb4105e66/templates/win/common/scripts/common/makecert.exe -------------------------------------------------------------------------------- /templates/win/common/scripts/common/sched-bginfo.vbs: -------------------------------------------------------------------------------- 1 | ' It seems amazing that we still need to use VBS For some things in the year 2018 AD 2 | ' However, Powershell insists on popping up a window (which grabs focus) every time the 3 | ' bginfo scheduled task runs 4 | ' See Ref: https://www.faqforge.com/windows/how-to-execute-powershell-scripts-without-pop-up-window/ 5 | 6 | command = "powershell.exe -nologo -WindowStyle Hidden -NonInteractive -command C:\Packer\Scripts\Set-Bginfo.ps1" 7 | set shell = CreateObject("WScript.Shell") 8 | shell.Run command,0 9 | -------------------------------------------------------------------------------- /templates/win/common/scripts/config/Platform9.bgi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/puppetlabs/puppetlabs-packer/c2f5cc2b2c30eec80bc86847cd7db61fb4105e66/templates/win/common/scripts/config/Platform9.bgi -------------------------------------------------------------------------------- /templates/win/common/scripts/config/VMPooler.bgi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/puppetlabs/puppetlabs-packer/c2f5cc2b2c30eec80bc86847cd7db61fb4105e66/templates/win/common/scripts/config/VMPooler.bgi -------------------------------------------------------------------------------- /templates/win/common/scripts/config/fstab: -------------------------------------------------------------------------------- 1 | # /etc/fstab 2 | # 3 | # This file is read once by the first process in a Cygwin process tree. 4 | # To pick up changes, restart all Cygwin processes. For a description 5 | # see https://cygwin.com/cygwin-ug-net/using.html#mount-table 6 | 7 | # This is default modified to set NOACL 8 | # see https://stackoverflow.com/questions/5828037/cygwin-sets-file-permission-to-000 9 | # and http://cygwin.1069669.n5.nabble.com/vim-and-file-permissions-on-Windows-7-td61390.html 10 | none /cygdrive cygdrive binary,noacl,posix=0,user 0 0 11 | -------------------------------------------------------------------------------- /templates/win/common/scripts/config/gitforwin.inf: -------------------------------------------------------------------------------- 1 | [Setup] 2 | Lang=default 3 | Dir=C:\Program Files\Git 4 | Group=Git 5 | NoIcons=1 6 | SetupType=default 7 | Components= 8 | Tasks= 9 | PathOption=Cmd 10 | SSHOption=OpenSSH 11 | CRLFOption=CRLFCommitAsIs 12 | BashTerminalOption=ConHost 13 | PerformanceTweaksFSCache=Enabled 14 | UseCredentialManager=Disabled 15 | EnableSymlinks=Disabled 16 | EnableBuiltinDifftool=Disabled 17 | -------------------------------------------------------------------------------- /templates/win/common/scripts/config/win-site.pp: -------------------------------------------------------------------------------- 1 | include windows_template::policies::local_group_policies 2 | include windows_template::policies::security_policies 3 | include windows_template::firewall::firewall 4 | include windows_template::services::configure_services 5 | include windows_template::registry::machine 6 | include windows_template::registry::user 7 | include windows_template::apps::sysinternals 8 | include windows_template::bootcfg::bootcfg 9 | 10 | # Install Apps as required. 11 | include windows_template::apps::gitforwin 12 | 13 | if ($psversionmajor >= '4') { 14 | # Powershell 7 requires WMF 4.0 or greater for PS7 15 | include windows_template::apps::powershell7 16 | } 17 | # Conditional for Core checkining 18 | # only allowed for main installs and non-core 19 | if (lookup('packer.windows.installationtype') != 'Server Core') and ($::operatingsystemrelease != '2008') 20 | { 21 | include windows_template::apps::chrome 22 | include windows_template::apps::notepadplusplus 23 | } 24 | 25 | # Select an SSH layer 26 | case lookup('packer.ssh_platform') { 27 | 'wsl_ssh': { include windows_template::ssh::wsl_ssh } 28 | 'cygwin-2.4.0': { include windows_template::ssh::cygwin_240 } 29 | default: {} # None provided 30 | } 31 | -------------------------------------------------------------------------------- /templates/win/common/scripts/platform9/RedHat.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/puppetlabs/puppetlabs-packer/c2f5cc2b2c30eec80bc86847cd7db61fb4105e66/templates/win/common/scripts/platform9/RedHat.cer -------------------------------------------------------------------------------- /templates/win/common/vars.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "20211012", 3 | 4 | "headless" : "true", 5 | 6 | "winrm_username" : "Administrator", 7 | "winrm_password" : "PackerAdmin", 8 | "winrm_timeout" : "1h", 9 | "winupdate_timeout" : "400m", 10 | "puppetconfig_timeout": "60m", 11 | "shutdown_timeout" : "1h", 12 | 13 | "locale" : "en-US", 14 | 15 | "ssh_platform" : "cygwin-2.4.0", 16 | 17 | "image_index" : "2", 18 | 19 | "packer_download_dir" : "C:/Packer/Downloads", 20 | 21 | "artifactory_baseurl" : "https://artifactory.delivery.puppetlabs.net/artifactory/generic/iso/windows/", 22 | "file_baseurl" : "file:///srv/packer/iso/" 23 | } 24 | -------------------------------------------------------------------------------- /tests/test-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | if [ ! -f packer ] ; then 6 | baseurl=https://releases.hashicorp.com 7 | project_name=packer 8 | arch=$(uname -m) 9 | if (echo "$arch" | grep x86_64 > /dev/null) ; then 10 | arch="amd64" 11 | fi 12 | os=$(uname |tr '[:upper:]' '[:lower:]') 13 | version="1.5.1" 14 | 15 | filename="$project_name"_"$version"_"$os"_"$arch".zip 16 | download_link="$baseurl"/"$project_name"/"$version"/"$filename" 17 | echo Attempting to download "$download_link" 18 | curl -s -O -L "$download_link" 19 | unzip "$filename" 20 | rm "$filename" 21 | else 22 | echo "Packer already setup in current directory." 23 | exit 0 24 | fi 25 | -------------------------------------------------------------------------------- /tests/test-syntax.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | counter=0 4 | for file in $(find . -name "*.json" | egrep -v '^vars\.|.(vars|variables).|MAINTAINERS|metadata|common\.json') 5 | do 6 | if ! ./packer validate -syntax-only "$file" &> /dev/null ; then 7 | echo "$file" 8 | # we run the validation command again here to get its output 9 | ./packer validate -syntax-only "$file" 10 | let counter=$counter+1 11 | fi 12 | done 13 | echo $counter failures 14 | exit $counter 15 | -------------------------------------------------------------------------------- /util/windows/win-2008/slipstream-filter.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/puppetlabs/puppetlabs-packer/c2f5cc2b2c30eec80bc86847cd7db61fb4105e66/util/windows/win-2008/slipstream-filter.txt -------------------------------------------------------------------------------- /util/windows/win-2008r2/slipstream-filter.txt: -------------------------------------------------------------------------------- 1 | windows6.1-kb3177467-x64.cab 2 | windows6.1-kb3181988-x64.cab 3 | -------------------------------------------------------------------------------- /util/windows/win-2012/win-2012-slipstream.ps1: -------------------------------------------------------------------------------- 1 | # 2 | --------------------------------------------------------------------------------