Added puppet files
[clearscm.git] / puppet / gd / wints.pp
diff --git a/puppet/gd/wints.pp b/puppet/gd/wints.pp
new file mode 100644 (file)
index 0000000..6963e74
--- /dev/null
@@ -0,0 +1,188 @@
+# RDE Puppet Windows Terminal config\r
+\r
+# This subclass defines the configuration for RDE Windows terminal server. Note that\r
+# this server will have a lot of development tools installed on it as RDE developers\r
+# use these machines to run Windows tools.\r
+#\r
+# Seems like there are a few ways to install Windows packages. One is just using exec.\r
+# The other is just to unzip a file. Finally there's .msi files. I think we can use\r
+# the package resource for .msi's and .exe's. Not as sure about being able to unsip\r
+# applications that are just delivered as a zip file. I need a Windows machine to test\r
+# things on.\r
+\r
+class rde::wints {\r
+  $win_software_repo = '\\az251dp2ch2d\Software' # A software repo. Currently on the machine under test but can be on any share\r
+  tag 'ts'\r
+\r
+  # ActivePerl: Installs OK\r
+  windows::unzip { "$win_software_repo\\ActivePerl-5.24.3.2404-MSWin32-x64-404865.zip":\r
+    destination => "C:\\",\r
+    creates     => 'C:\Perl',\r
+    tag         => ['activeperl'],\r
+  }\r
+\r
+  # PHP\r
+  file { 'C:\PHP':\r
+    ensure => 'directory',\r
+    tag    => ['php'],\r
+  }\r
+\r
+  # PHP: Installs OK\r
+  windows::unzip { "$win_software_repo\\PHP-5.6.31\\php-5.6.31-Win32-VC11-x86.zip":\r
+    destination => "C:\\PHP",\r
+    creates     => "C:\\PHP\\bin",\r
+    require     => File['C:\PHP'],\r
+    tag         => ['php'],\r
+  }\r
+\r
+  # Ghostscript: Installs OK\r
+  package { 'Ghostscript':\r
+    source          => "$win_software_repo\\Ghostscript-9.0.9\\gs909w64.exe",\r
+    install_options => '/S /NCRC',\r
+    tag             => ['ghostscript'],\r
+  }\r
+\r
+  # BeyondCompare: Installs OK\r
+  exec { 'Beyond Compare':\r
+    command => "$win_software_repo\\TPS1166_Beyond_Compare\\beycomp_081407.exe /verysilent /sp-",\r
+    tag     => ['beyondcompare']\r
+  }\r
+\r
+  # SecureCRT: Installs OK\r
+  package { 'SecureCRT':\r
+    source          => "$win_software_repo\\TPS1284_SecureCRT_v6.63\\scrt663-x64.exe",\r
+    install_options => '/s /v"/qn"',\r
+    tag             => ['securecrt'],\r
+  }\r
+\r
+  # Apache Tomcat: Installs OK\r
+  windows::unzip { "$win_software_repo\\Apache-Tomcat-8.5.11\\apache-tomcat-8.5.11-windows-x64.zip":\r
+    destination => 'C:\Program Files',\r
+    creates     => 'C:\Program Files\apache-tomcat-8.5.11',\r
+    tag         => ['apachetomcat'],\r
+  }\r
+\r
+  # DeepBurner: Installs OK\r
+  package { 'DeepBurner':\r
+    source          => "$win_software_repo\\DeepBurner-1.9\\DeepBurner1.exe",\r
+    install_options => '/s',\r
+    tag             => ['deepburner'],\r
+  }\r
+\r
+  # GnuWin32: This "install" requires considerable hand configuration and also\r
+  # reaches out to the Internet to download packages. This will not fly behind\r
+  # a firewall and most of the functionality here is already provided in Cygwin.\r
+  # exec { 'GnuWin32':\r
+  # command => "$win_software_repo\\GnuWin32-0.6.21\\GetGnuWin32\\install.bat",\r
+  # creates => "???",\r
+  #}\r
+\r
+  # Notepad++: Installs OK\r
+  package { 'Notepad++':\r
+    source          => "$win_software_repo\\Notepad++7.5.6\\npp.7.5.6.Installer.exe",\r
+    install_options => '/S',\r
+    tag             => ['notepadplusplus'],\r
+  }\r
+\r
+  # Console2: Installs OK\r
+  windows::unzip { "$win_software_repo\\Console-2.00b148-Beta_64bit.zip":\r
+    destination => 'C:\Program Files',\r
+    creates     => 'C:\Program Files\Console2',\r
+    tag         => 'console2',\r
+  }\r
+\r
+  # JDK: Installs OK\r
+  package { 'JDK':\r
+    source          => "$win_software_repo\\jdk-8u172-windows-x64.exe",\r
+    install_options => '/s',\r
+    tag             => 'jdk',\r
+  }\r
+\r
+  # Eclipse: Installs OK\r
+  windows::unzip { "$win_software_repo\\Eclipse.zip":\r
+    destination => "C:\\",\r
+    creates     => 'C:\Eclipse',\r
+    tag         => ['eclipse'],\r
+  }\r
+\r
+  windows::shortcut { 'C:\Users\All Users\Desktop\Eclipse.lnk':\r
+    target      => 'C:\Eclipse\Eclipse.exe',\r
+    description => 'Eclipse IDE',\r
+    tag         => ['eclipse'],\r
+  }\r
+\r
+  # Microsoft SQL Server: I tried installing this but it was too old to run on\r
+  # 2012 R2\r
+  # exec { 'Microsoft SQL Server':\r
+  #  command => "$win_software_repo\\Microsoft-SQL-Server-2005-SP3-Express-Edition\\SQLEXPR64-SP3.exe",\r
+  #  #creates => "???",\r
+  #}\r
+\r
+  # Microsoft Visual Studio: Thought this was working. Turns out it doesn't work.\r
+  # Works by hand though :-(\r
+  exec { 'Microsoft Visual Studio':\r
+    command => "$win_software_repo\\TPS0004_Visual_studio_Pro_2010\\Setup\Setup.exe /q /full",\r
+    creates => 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe',\r
+    tag     => ['visualstudio'],\r
+    timeout => 600, # Visual Studio takes some time to install\r
+  }\r
+\r
+  exec { 'Console Emulator':\r
+    command => "$win_software_repo\\ConEmu-150813\\ConEmuSetup.150813g.exe /p:x64 /qr",\r
+    creates => 'C:\Program Files\ConEmu',\r
+    tag     => ['conemu'],\r
+  }\r
+\r
+  # Putty: Installs OK\r
+  exec { 'Putty':\r
+    command => "$win_software_repo\\TPS1288_PuTTY\\putty-0.63-installer.exe /verysilent /sp-",\r
+    tag     => ['putty'],\r
+  }\r
+\r
+  # Python 2.7.13: Installs OK\r
+  package { 'Python 2.7.13':\r
+    source          => "$win_software_repo\\Python-2.7.13\\Windows\\python-2.7.13.amd64.msi",\r
+    install_options => '/qn',\r
+    tag             => ['python2713'],\r
+  }\r
+\r
+  # Pythong 3.6.4: Installs OK\r
+  exec { 'Python 3.6.4':\r
+    command => "$win_software_repo\\Python-3.6.4\\python-3.6.4-amd64.exe /quiet InstallAllUsers=1 PrependPath=1",\r
+    tag     => ['python364'],\r
+  }\r
+\r
+  # TeraTerm: Installs OK\r
+  package { 'TeraTerm':\r
+    source          => "$win_software_repo\\TeraTerm-4.7.3\\teraterm-4.73.exe",\r
+    install_options => '/verysilent',\r
+    tag             => ['teraterm'],\r
+  }\r
+\r
+  # VIM 7.3: Installs OK\r
+  windows::unzip { "$win_software_repo\\VIM-7.3\\MSDOS\\vim73w32.zip":\r
+    destination => 'C:\Program Files',\r
+    creates     => 'C:\Program Files\vim',\r
+    tag         => ['vim'],\r
+  }\r
+\r
+  # VNC: Installs OK\r
+  package { 'VNC':\r
+    source          => "$win_software_repo\\VNC-Open-4.1.3\\vnc-4_1_3-x86_win32.exe",\r
+    install_options => '/verysilent',\r
+    tag             => ['vnc'],\r
+  }\r
+\r
+  # Microsoft Office: Installs OK\r
+  exec { 'Microsoft Office':\r
+    command => "$win_software_repo\\TPS1293_Office_Standard\\setup.exe /config Standard.WW\config.xml",\r
+    tag     => ['office'],\r
+  }\r
+\r
+  # Microsoft Visio: Installs OK\r
+  exec { 'Microsoft Visio':\r
+    command => "$win_software_repo\\TPS0003_Visio_Standard\\x86\\setup.exe /config Visio.WW\config.xml",\r
+    timeout => 600, # Microsoft Visio takes some time to install\r
+    tag     => ['visio'],\r
+  }\r
+}\r