diff --git a/rhel/Vagrantfile b/rhel/Vagrantfile new file mode 100644 index 0000000..078102f --- /dev/null +++ b/rhel/Vagrantfile @@ -0,0 +1,63 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +require 'yaml' + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +# configs, custom updates defaults +defaults_cfg = YAML.load_file('vagrant-settings.yaml_defaults') +if File.exist?('vagrant-settings.yaml') + custom_cfg = YAML.load_file('vagrant-settings.yaml') + cfg = defaults_cfg.merge(custom_cfg) +else + cfg = defaults_cfg +end + +Vagrant.configure("2") do |config| + config.vm.provider "virtualbox" do |vb| + vb.gui = true + vb.memory = "2048" + vb.cpus = "2" + end + + config.vm.define "rhel8u7" do |rhel8u7| + rhel8u7.vm.box = "generic/rhel8" + rhel8u7.vm.box_version = "4.2.14" + rhel8u7.vm.hostname = "rhel8u7-repotesting.example.org" + + rhel8u7.vm.synced_folder "../vagrantdata", "/home/vagrant/data" + + rhel8u7.trigger.before :destroy do |trigger| + trigger.warn = "Unregistering from rhsm" + trigger.run_remote = {inline: "subscription-manager remove --all; subscription-manager unregister"} + end + + rhel8u7.vm.provision "shell", inline: <<-SHELL + subscription-manager register --force \ + --auto-attach \ + --username=#{cfg["rhsm_username"]} \ + --password=#{cfg["rhsm_password"]} + SHELL + + rhel8u7.vm.provision "shell", inline: <<-SHELL + dnf config-manager --set-enabled codeready-builder-for-rhel-8-x86_64-rpms + dnf config-manager --set-enabled rhel-8-for-x86_64-appstream-rpms + dnf config-manager --set-enabled rhel-8-for-x86_64-baseos-rpms + dnf config-manager --set-enabled rhel-8-for-x86_64-highavailability-rpms + dnf config-manager --set-enabled rhel-8-for-x86_64-resilientstorage-rpms + dnf config-manager --set-enabled rhel-8-for-x86_64-rt-rpms + dnf config-manager --set-enabled rhel-8-for-x86_64-supplementary-rpms + dnf -y update + SHELL + + rhel8u7.vm.provision "shell", inline: <<-SHELL + dnf -y --enablerepo=epel install rpminspect rpminspect-data-fedora tree htop vim-enhanced + SHELL + + rhel8u7.vm.provision :reload + + end + +end diff --git a/rhel/vagrant-settings.yaml_defaults b/rhel/vagrant-settings.yaml_defaults new file mode 100644 index 0000000..8ac5e8d --- /dev/null +++ b/rhel/vagrant-settings.yaml_defaults @@ -0,0 +1,2 @@ +rhsm_username: admin +rhsm_password: secret diff --git a/rocky/Vagrantfile b/rocky/Vagrantfile new file mode 100644 index 0000000..98ac004 --- /dev/null +++ b/rocky/Vagrantfile @@ -0,0 +1,35 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure("2") do |rocky8u6| + rocky8u6.vm.box = "generic/rocky8" + rocky8u6.vm.box_version = "4.2.16" + rocky8u6.vm.hostname = "rocky8u7-repotesting.example.org" + + rocky8u6.vm.synced_folder "../vagrantdata", "/home/vagrant/data" + + rocky8u6.vm.provider "virtualbox" do |vb| + vb.gui = true + vb.memory = "4096" + vb.cpus = "2" + end + + # Enable provisioning with a shell script. Additional provisioners such as + rocky8u6.vm.provision "shell", inline: <<-SHELL + dnf -y --enablerepo=extras,powertools update + SHELL + + rocky8u6.vm.provision "shell", inline: <<-SHELL + dnf -y --enablerepo=epel,powertools install rpminspect rpminspect-data-fedora tree htop vim-enhanced + dnf -y install gcc make perl kernel-devel kernel-headers bzip2 dkms + cd /dev/shm + curl -LOR https://download.virtualbox.org/virtualbox/6.1.34/VBoxGuestAdditions_6.1.34.iso + mkdir -p /mnt/cdrom + mount -o loop /dev/shm/VBoxGuestAdditions_6.1.29-148164.iso /mnt/cdrom + cd /mnt/cdrom + ./VBoxLinuxAdditions.run + modinfo vboxguest + modinfo vboxsf + SHELL + +end