6963e74834e8e779558f56daa9f3ebbd97f254de
[clearscm.git] / puppet / wints.pp
1 # RDE Puppet Windows Terminal config\r
2 \r
3 # This subclass defines the configuration for RDE Windows terminal server. Note that\r
4 # this server will have a lot of development tools installed on it as RDE developers\r
5 # use these machines to run Windows tools.\r
6 #\r
7 # Seems like there are a few ways to install Windows packages. One is just using exec.\r
8 # The other is just to unzip a file. Finally there's .msi files. I think we can use\r
9 # the package resource for .msi's and .exe's. Not as sure about being able to unsip\r
10 # applications that are just delivered as a zip file. I need a Windows machine to test\r
11 # things on.\r
12 \r
13 class rde::wints {\r
14   $win_software_repo = '\\az251dp2ch2d\Software' # A software repo. Currently on the machine under test but can be on any share\r
15   tag 'ts'\r
16 \r
17   # ActivePerl: Installs OK\r
18   windows::unzip { "$win_software_repo\\ActivePerl-5.24.3.2404-MSWin32-x64-404865.zip":\r
19     destination => "C:\\",\r
20     creates     => 'C:\Perl',\r
21     tag         => ['activeperl'],\r
22   }\r
23 \r
24   # PHP\r
25   file { 'C:\PHP':\r
26     ensure => 'directory',\r
27     tag    => ['php'],\r
28   }\r
29 \r
30   # PHP: Installs OK\r
31   windows::unzip { "$win_software_repo\\PHP-5.6.31\\php-5.6.31-Win32-VC11-x86.zip":\r
32     destination => "C:\\PHP",\r
33     creates     => "C:\\PHP\\bin",\r
34     require     => File['C:\PHP'],\r
35     tag         => ['php'],\r
36   }\r
37 \r
38   # Ghostscript: Installs OK\r
39   package { 'Ghostscript':\r
40     source          => "$win_software_repo\\Ghostscript-9.0.9\\gs909w64.exe",\r
41     install_options => '/S /NCRC',\r
42     tag             => ['ghostscript'],\r
43   }\r
44 \r
45   # BeyondCompare: Installs OK\r
46   exec { 'Beyond Compare':\r
47     command => "$win_software_repo\\TPS1166_Beyond_Compare\\beycomp_081407.exe /verysilent /sp-",\r
48     tag     => ['beyondcompare']\r
49   }\r
50 \r
51   # SecureCRT: Installs OK\r
52   package { 'SecureCRT':\r
53     source          => "$win_software_repo\\TPS1284_SecureCRT_v6.63\\scrt663-x64.exe",\r
54     install_options => '/s /v"/qn"',\r
55     tag             => ['securecrt'],\r
56   }\r
57 \r
58   # Apache Tomcat: Installs OK\r
59   windows::unzip { "$win_software_repo\\Apache-Tomcat-8.5.11\\apache-tomcat-8.5.11-windows-x64.zip":\r
60     destination => 'C:\Program Files',\r
61     creates     => 'C:\Program Files\apache-tomcat-8.5.11',\r
62     tag         => ['apachetomcat'],\r
63   }\r
64 \r
65   # DeepBurner: Installs OK\r
66   package { 'DeepBurner':\r
67     source          => "$win_software_repo\\DeepBurner-1.9\\DeepBurner1.exe",\r
68     install_options => '/s',\r
69     tag             => ['deepburner'],\r
70   }\r
71 \r
72   # GnuWin32: This "install" requires considerable hand configuration and also\r
73   # reaches out to the Internet to download packages. This will not fly behind\r
74   # a firewall and most of the functionality here is already provided in Cygwin.\r
75   # exec { 'GnuWin32':\r
76   # command => "$win_software_repo\\GnuWin32-0.6.21\\GetGnuWin32\\install.bat",\r
77   # creates => "???",\r
78   #}\r
79 \r
80   # Notepad++: Installs OK\r
81   package { 'Notepad++':\r
82     source          => "$win_software_repo\\Notepad++7.5.6\\npp.7.5.6.Installer.exe",\r
83     install_options => '/S',\r
84     tag             => ['notepadplusplus'],\r
85   }\r
86 \r
87   # Console2: Installs OK\r
88   windows::unzip { "$win_software_repo\\Console-2.00b148-Beta_64bit.zip":\r
89     destination => 'C:\Program Files',\r
90     creates     => 'C:\Program Files\Console2',\r
91     tag         => 'console2',\r
92   }\r
93 \r
94   # JDK: Installs OK\r
95   package { 'JDK':\r
96     source          => "$win_software_repo\\jdk-8u172-windows-x64.exe",\r
97     install_options => '/s',\r
98     tag             => 'jdk',\r
99   }\r
100 \r
101   # Eclipse: Installs OK\r
102   windows::unzip { "$win_software_repo\\Eclipse.zip":\r
103     destination => "C:\\",\r
104     creates     => 'C:\Eclipse',\r
105     tag         => ['eclipse'],\r
106   }\r
107 \r
108   windows::shortcut { 'C:\Users\All Users\Desktop\Eclipse.lnk':\r
109     target      => 'C:\Eclipse\Eclipse.exe',\r
110     description => 'Eclipse IDE',\r
111     tag         => ['eclipse'],\r
112   }\r
113 \r
114   # Microsoft SQL Server: I tried installing this but it was too old to run on\r
115   # 2012 R2\r
116   # exec { 'Microsoft SQL Server':\r
117   #  command => "$win_software_repo\\Microsoft-SQL-Server-2005-SP3-Express-Edition\\SQLEXPR64-SP3.exe",\r
118   #  #creates => "???",\r
119   #}\r
120 \r
121   # Microsoft Visual Studio: Thought this was working. Turns out it doesn't work.\r
122   # Works by hand though :-(\r
123   exec { 'Microsoft Visual Studio':\r
124     command => "$win_software_repo\\TPS0004_Visual_studio_Pro_2010\\Setup\Setup.exe /q /full",\r
125     creates => 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe',\r
126     tag     => ['visualstudio'],\r
127     timeout => 600, # Visual Studio takes some time to install\r
128   }\r
129 \r
130   exec { 'Console Emulator':\r
131     command => "$win_software_repo\\ConEmu-150813\\ConEmuSetup.150813g.exe /p:x64 /qr",\r
132     creates => 'C:\Program Files\ConEmu',\r
133     tag     => ['conemu'],\r
134   }\r
135 \r
136   # Putty: Installs OK\r
137   exec { 'Putty':\r
138     command => "$win_software_repo\\TPS1288_PuTTY\\putty-0.63-installer.exe /verysilent /sp-",\r
139     tag     => ['putty'],\r
140   }\r
141 \r
142   # Python 2.7.13: Installs OK\r
143   package { 'Python 2.7.13':\r
144     source          => "$win_software_repo\\Python-2.7.13\\Windows\\python-2.7.13.amd64.msi",\r
145     install_options => '/qn',\r
146     tag             => ['python2713'],\r
147   }\r
148 \r
149   # Pythong 3.6.4: Installs OK\r
150   exec { 'Python 3.6.4':\r
151     command => "$win_software_repo\\Python-3.6.4\\python-3.6.4-amd64.exe /quiet InstallAllUsers=1 PrependPath=1",\r
152     tag     => ['python364'],\r
153   }\r
154 \r
155   # TeraTerm: Installs OK\r
156   package { 'TeraTerm':\r
157     source          => "$win_software_repo\\TeraTerm-4.7.3\\teraterm-4.73.exe",\r
158     install_options => '/verysilent',\r
159     tag             => ['teraterm'],\r
160   }\r
161 \r
162   # VIM 7.3: Installs OK\r
163   windows::unzip { "$win_software_repo\\VIM-7.3\\MSDOS\\vim73w32.zip":\r
164     destination => 'C:\Program Files',\r
165     creates     => 'C:\Program Files\vim',\r
166     tag         => ['vim'],\r
167   }\r
168 \r
169   # VNC: Installs OK\r
170   package { 'VNC':\r
171     source          => "$win_software_repo\\VNC-Open-4.1.3\\vnc-4_1_3-x86_win32.exe",\r
172     install_options => '/verysilent',\r
173     tag             => ['vnc'],\r
174   }\r
175 \r
176   # Microsoft Office: Installs OK\r
177   exec { 'Microsoft Office':\r
178     command => "$win_software_repo\\TPS1293_Office_Standard\\setup.exe /config Standard.WW\config.xml",\r
179     tag     => ['office'],\r
180   }\r
181 \r
182   # Microsoft Visio: Installs OK\r
183   exec { 'Microsoft Visio':\r
184     command => "$win_software_repo\\TPS0003_Visio_Standard\\x86\\setup.exe /config Visio.WW\config.xml",\r
185     timeout => 600, # Microsoft Visio takes some time to install\r
186     tag     => ['visio'],\r
187   }\r
188 }\r