Guest User

Untitled

a guest
Jan 20th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. # -*- mode: ruby -*-
  2. # vi: set ft=ruby :
  3.  
  4. # Prerequisites:
  5. # A windows box with...
  6. # - puppet-agent
  7. # - git
  8. # - ruby
  9. # - r10k
  10.  
  11. Vagrant.configure(2) do |config|
  12. config.vm.box = "2012r2_packages"
  13. config.vm.guest = :windows
  14. config.vm.communicator = "winrm"
  15. config.vm.boot_timeout = 300
  16.  
  17. $facts = "datacenter=den3,role=member_server"
  18. $class = "role::member_server"
  19.  
  20. # copy over control repo to local system and modify environment.conf for windows
  21. config.vm.provision "control_repo", type: "shell",
  22. inline: "robocopy /MIR c:\\vagrant c:\\ProgramData\\PuppetLabs\\code\\environments\\production; (Get-Content 'C:\\ProgramData\\PuppetLabs\\code\\environments\\production\\environment.conf').Replace(':',';') | Select-String -Pattern 'config_version' -NotMatch | Set-Content 'C:\\ProgramData\\PuppetLabs\\code\\environments\\production\\environment.conf'"
  23. # download modules to local system
  24. config.vm.provision "r10k_modules", type: "shell",
  25. inline: "cd c:\\ProgramData\\PuppetLabs\\code\\environments\\production; r10k puppetfile install"
  26. # stage custom facts to local system
  27. config.vm.provision "stage_facts", type: "shell",
  28. inline: "('" + $facts + "').Split(',') | %{Add-Content -PassThru C:\\ProgramData\\PuppetLabs\\facter\\facts.d\\custom.txt -Value $_ -Force}"
  29. # run puppet apply with the desired role or profile
  30. config.vm.provision "puppet-apply", type: "shell",
  31. inline: "puppet apply -v -e 'include " + $class + "'"
  32.  
  33. config.vm.provider "virtualbox" do |vb|
  34. vb.gui = true
  35. vb.memory = 2048
  36. end
  37.  
  38. end
Add Comment
Please, Sign In to add comment