control-repo/site/profile/manifests/sample_website/windows.pp
2019-03-13 14:00:41 -04:00

56 lines
1.3 KiB
Puppet

#
class profile::sample_website::windows (
$doc_root,
$webserver_port,
) {
require ::profile::iis
# configure iis
iis_application_pool { 'sample_website':
ensure => 'present',
state => 'started',
managed_pipeline_mode => 'Integrated',
managed_runtime_version => 'v4.0',
}
iis_site { $::fqdn:
ensure => 'started',
physicalpath => $doc_root,
applicationpool => 'sample_website',
bindings => [
{
'bindinginformation' => '*:80:',
'protocol' => 'http',
},
],
require => File[$website_source_dir],
}
windows_firewall::exception { 'IIS':
ensure => present,
direction => 'in',
action => 'allow',
enabled => true,
protocol => 'TCP',
local_port => $webserver_port,
display_name => 'HTTP Inbound',
description => 'Inbound rule for HTTP Server',
}
# deploy website
$website_source_dir = lookup('website_source_dir')
file { $website_source_dir:
ensure => directory,
path => $doc_root,
source => $website_source_dir,
recurse => true,
}
file { "${doc_root}/index.html":
ensure => file,
content => epp('profile/index.html.epp'),
}
}