Files
2026-04-27 18:58:52 -05:00

37 lines
1.3 KiB
Ruby

WINDOWS_BOX = ENV.fetch("COVENANT_WINDOWS_BOX", "gusztavvargadr/windows-11")
WINDOWS_BOX_VERSION = ENV["COVENANT_WINDOWS_BOX_VERSION"]
VM_NAME = ENV.fetch("COVENANT_VM_NAME", "covenant-setup-windows")
VM_MEMORY = ENV.fetch("COVENANT_VM_MEMORY", "6144")
VM_CPUS = ENV.fetch("COVENANT_VM_CPUS", "4")
WINRM_USERNAME = ENV.fetch("COVENANT_WINRM_USERNAME", "vagrant")
WINRM_PASSWORD = ENV.fetch("COVENANT_WINRM_PASSWORD", "vagrant")
HYPERV_SWITCH = ENV.fetch("COVENANT_HYPERV_SWITCH", "Default Switch")
Vagrant.configure("2") do |config|
config.vm.box = WINDOWS_BOX
if WINDOWS_BOX_VERSION && !WINDOWS_BOX_VERSION.empty?
config.vm.box_version = WINDOWS_BOX_VERSION
end
config.vm.hostname = VM_NAME
config.vm.guest = :windows
config.vm.communicator = "winrm"
config.vm.boot_timeout = ENV.fetch("COVENANT_BOOT_TIMEOUT", "1800").to_i
config.vm.graceful_halt_timeout = 180
config.vm.box_check_update = false
config.vm.network "public_network", bridge: HYPERV_SWITCH
config.vm.synced_folder ".", "/vagrant", disabled: true
config.winrm.username = WINRM_USERNAME
config.winrm.password = WINRM_PASSWORD
config.winrm.retry_limit = 60
config.winrm.retry_delay = 10
config.winrm.timeout = 1800
config.vm.provider "hyperv" do |h|
h.vmname = VM_NAME
h.memory = VM_MEMORY.to_i
h.cpus = VM_CPUS.to_i
end
end