From b88c7cc172846b3211f46c61eef2fb982cb5882b Mon Sep 17 00:00:00 2001 From: "christopher.lawrence" Date: Fri, 7 Feb 2020 17:58:50 +0000 Subject: [PATCH] Setting up chocolatey to install windows packages --- Puppetfile | 3 + manifests/os/win.pp | 5 -- manifests/site.pp | 8 +- .../profile/manifests/custom_windows.pp | 7 +- .../custom_windows/.config_server.pp.swp | Bin 0 -> 12288 bytes .../custom_windows/{add_user.pp => 1} | 6 +- .../manifests/custom_windows/config_server.pp | 83 ++++++++++++++++++ .../profile/manifests/windows/chocolatey.pp | 0 8 files changed, 102 insertions(+), 10 deletions(-) delete mode 100644 manifests/os/win.pp create mode 100644 site-modules/profile/manifests/custom_windows/.config_server.pp.swp rename site-modules/profile/manifests/custom_windows/{add_user.pp => 1} (92%) create mode 100644 site-modules/profile/manifests/custom_windows/config_server.pp create mode 100644 site-modules/profile/manifests/windows/chocolatey.pp diff --git a/Puppetfile b/Puppetfile index 5590a5b..c70250a 100644 --- a/Puppetfile +++ b/Puppetfile @@ -26,6 +26,9 @@ mod 'puppetlabs-dism', '1.3.1' mod 'puppetlabs-dsc', '1.9.4' mod 'puppetlabs-acl', '3.1.0' mod 'puppetlabs-iis', '7.0.0' +mod 'puppetlabs-pwshlib', '0.4.0' +mod 'puppet-archive', '4.4.0' +mod 'puppet-staging', '3.2.0' # Modules from Git # Examples: https://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd#examples diff --git a/manifests/os/win.pp b/manifests/os/win.pp deleted file mode 100644 index 02d09c8..0000000 --- a/manifests/os/win.pp +++ /dev/null @@ -1,5 +0,0 @@ -class os::win { - if $facts[osfamily] == 'windows' { - include role::custom_windows - } -} diff --git a/manifests/site.pp b/manifests/site.pp index 575f22e..cb08ae0 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -34,7 +34,13 @@ node default { if $trusted['extensions']['pp_role'] { include "role::${trusted['extensions']['pp_role']}" + +# if $facts[osfamily] == 'windows' { +# include role::custom_windows +# Package { provider => chocolatey, } +# } + } else { include role::node - } + } } diff --git a/site-modules/profile/manifests/custom_windows.pp b/site-modules/profile/manifests/custom_windows.pp index 79f333e..f7ab9da 100644 --- a/site-modules/profile/manifests/custom_windows.pp +++ b/site-modules/profile/manifests/custom_windows.pp @@ -1,7 +1,8 @@ class profile::custom_windows ( - Boolean $add_user = true, + Boolean $config_server = true, ) { - if $add_user { - class { '::profile::custom_windows::add_user': } + if $config_server { + class { '::profile::custom_windows::config_server': } + include chocolatey } } diff --git a/site-modules/profile/manifests/custom_windows/.config_server.pp.swp b/site-modules/profile/manifests/custom_windows/.config_server.pp.swp new file mode 100644 index 0000000000000000000000000000000000000000..5b05d59fb25082292f5ef1ac862f4cee12b7b570 GIT binary patch literal 12288 zcmeI2&u<$=6vwAU{AwvhLE?ypQei-KoRA>5Mg_UXp%zISB{davi?vyg?IpWA%gk(2 z6BRDyA3!Py!CwIfXe;1UE^q)YfGX~&LL3m{mq6k>GwUA-DQXWKD#p@BwrAeVd+$4M z$BOb+rk-mo(1Vjx1h0DtIXzo_arae^TzZ?3peI79c-muPGV<32O9H0Nw!Ug3J6T-t zgCm@;78eDdjCkNjBkNbU+pv@h{t^q6ECoDKf=5NcQeKjwV#S!ZvxrG;(g`D0iv1+) zFsW@b1Qxf}!=%mE&C*WTZAm895Nn!_e7a9g0jB^I$W*6za8GmQv1#+DKe+D!dhbNj zN#hi73OEIv0!{&^fK$LJ;1qBQ{Erk+=??N5^4*!|d@6t6vE@Dg>fW3JP64NYQ@|KluCq%e{nr0p17aK@*g~1o-)G zLau<1!AIZ%_z=7f&Vc|_!TsQ`J%oG%E`qnf8W7-RumI*k8T@`1A(z1?;1ak9-UR2t zec+GXgnSRa0-uA=z`NibPzU?L1o(3oA-{oN!KdIdNWmg_3Oou5;32RVT)h)M!3FRE zcmwpo3!n-PgD1dV@XH;9d1M88@pC0#V== zZQXZ#lfKj<;D|0o``45IIkZWPSqJlYLa$P+l! z>DZ&brbjkN0v=i7uSBe^Lm6$}K_TcgHwu0f@%4I~s(!7oKt^7?$}21p%|Inbcu z<;uvdIwFKrFv$|NIfT3@ke}^$wBHB5^FuQcx55N98bz(4%YjcbojZ(px5YD+W=bE% z=mr0SN(>@jO0DSV(DnHlF;zds8R-*huXEA1o3?R8c5vDb*rU`|%e_pYKQmckzT`=> zVdqy_AD;F6(P!(=x8{%6s`IUdYVBy_SlwGbK6m0|b*b(x@+b^KCcT9)5M1((@=n@r zPkQWxx5T2*UkRg7>6#=|ur69vMZZ$9-cfpWbEZ`0F(5&dB}yA%j1}azDbauAM6Z?9 z@x&%Y|BI|{Agw&7yd-WstA=dY0%G~GUS~q1)2RjuS0Y_zDoefLX0*oRlqaZc>1|XW zpE`78x>_#Il&vyVBRp*{kPV89 zD^Vy2U0VAy^a8iKf@kRgD#C70Nj-e3fZM%YIGx`O+pS6bm~FGPr&ubzA>3MNqhk`fV!8{f=H4*AT^B4|e)+2U*bUWh~ZS{Dp zO|-$-h&37BVZ%M_h@CYaQasN3VI8S57#TCleONDMnI0K4FiPql#bKOwWUGmeW3$Pa zg_d?0sPSUN*1F-A)`?dtn;W|;l{V{y32SL5Rwf&!~pVJJM{-pJ*KOs_i&T y^kwBMF7Qi0hcjlEf~n`R^#~l1BQ2x&SPUaMhq~Y@wD '1', type => 'dword', } + + class {'chocolatey': + log_output => true, + } } diff --git a/site-modules/profile/manifests/custom_windows/config_server.pp b/site-modules/profile/manifests/custom_windows/config_server.pp new file mode 100644 index 0000000..bc0a6d6 --- /dev/null +++ b/site-modules/profile/manifests/custom_windows/config_server.pp @@ -0,0 +1,83 @@ +class profile::custom_windows::config_server ( + + $user_name = 'myuser', + $user_group = 'mygroup', + $user_groups = ['BUILTIN\Administrators', 'BUILTIN\Users'], + $user_home = "C:\Users\myuser", + $user_password = 'puppet', + $ensure = 'present', + $manage_home = true, + $user_file = 'myfile', + +) { + + profile::custom_windows::define_user { 'myuser': + + user_name => $user_name, + user_group => $user_group, + user_groups => $user_groups, + user_home => $user_home, + user_password => $user_password, + ensure => $ensure, + manage_home => $manage_home, + user_file => $user_file, + } + + acl { 'C:\\Users\\myuser\myfile': + + permissions => [ + { identity => $user_name, rights => ['read','execute'] }, + { identity => $user_group, rights => ['read'] } + ], + } + + registry::value { 'Enable IEESC': + + key => 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}', + value => 'IsInstalled', + data => '1', + type => 'dword', + } + + registry::value { 'Enable shutdown tracker': + + key => 'HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Reliability', + value => 'ShutdownReasonOn', + data => '1', + type => 'dword', + } + + registry::value { 'Enable shutdown tracker UI': + + key => 'HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Reliability', + value => 'ShutdownReasonUI', + data => '1', + type => 'dword', + } + + class {'chocolatey': + log_output => true, + choco_install_location => 'c:\choco', + } + + chocolateysource {'custom_source': + ensure => present, + location => 'c:\packages', + provider => windows, + } + + chocolateyfeature {'allowEmptyChecksums': + ensure => enabled, + provider => windows, + } + + chocolateyconfig {'cacheLocation': + value => 'c:\ProgramData\choco-cache', + provider => windows, + } + + package { '7zip': + ensure => '19.0', + provider => 'chocolatey', + } +} diff --git a/site-modules/profile/manifests/windows/chocolatey.pp b/site-modules/profile/manifests/windows/chocolatey.pp new file mode 100644 index 0000000..e69de29