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 0000000..5b05d59 Binary files /dev/null and b/site-modules/profile/manifests/custom_windows/.config_server.pp.swp differ diff --git a/site-modules/profile/manifests/custom_windows/add_user.pp b/site-modules/profile/manifests/custom_windows/1 similarity index 92% rename from site-modules/profile/manifests/custom_windows/add_user.pp rename to site-modules/profile/manifests/custom_windows/1 index 0b09ec4..26fb7dc 100644 --- a/site-modules/profile/manifests/custom_windows/add_user.pp +++ b/site-modules/profile/manifests/custom_windows/1 @@ -1,4 +1,4 @@ -class profile::custom_windows::add_user ( +class profile::custom_windows::config_server ( $user_name = 'myuser', $user_group = 'mygroup', @@ -54,4 +54,8 @@ class profile::custom_windows::add_user ( data => '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