Skip to content

Commit

Permalink
Merge pull request #2 from virtualdesktopdevops/dev
Browse files Browse the repository at this point in the history
Release v1.0.0 - PuppetForge
  • Loading branch information
matt6697 authored Apr 16, 2018
2 parents a3e0166 + 92afbf6 commit 76e2a79
Show file tree
Hide file tree
Showing 14 changed files with 419 additions and 387 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pkg/
5 changes: 5 additions & 0 deletions .pmtignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
pkg/
tests/
assets/
_config.yml
.fixtures.yml
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changelog - xd7storefront #

## Version 1.0.0 ##
- Puppet types for Storefront Store and Netscaler gateway configuration
- IIS SSL configuration to secure communications between Storefront and the client device
- SSL configuration to secure communications with the Citrix XML service
- Citrix Storefront and Microsoft IIS installation and configuration with default store creation
- Initial release
180 changes: 95 additions & 85 deletions README.markdown

Large diffs are not rendered by default.

102 changes: 55 additions & 47 deletions manifests/config.pp
Original file line number Diff line number Diff line change
@@ -1,85 +1,93 @@
#Class configuring Citrix Storefront first store
class xd7storefront::config inherits xd7storefront {

#Initialize Storefront, deploy Storefront IIS config
dsc_sfcluster{'StorefrontGroup':
dsc_baseurl => $baseurl,
dsc_siteid => 1,
}->
#Initialize Storefront, deploy Storefront IIS config
dsc_sfcluster{'StorefrontGroup':
dsc_baseurl => $xd7storefront::baseurl,
dsc_siteid => 1,
}

#Create first store
dsc_sfauthenticationservice{ 'DefaultAuthenticationService':
#Create first store
->dsc_sfauthenticationservice{ 'DefaultAuthenticationService':
dsc_virtualpath => '/Citrix/Authentication',
}->
}

#Configures authentication methods available on an existing Citrix StoreFront Authentication Service
#string Array [ 'Certificate', 'CitrixAGBasic', 'CitrixFederation', 'ExplicitForms', 'HttpBasic', 'IntegratedWindows' ]
dsc_sfauthenticationservicemethod{ 'DefaultStoreAuthenticationMethods':
dsc_virtualpath => '/Citrix/Authentication',
dsc_authenticationmethods => $storefrontAuthMethods,
}->
->dsc_sfauthenticationservicemethod{ 'DefaultStoreAuthenticationMethods':
dsc_virtualpath => '/Citrix/Authentication',
dsc_authenticationmethods => $xd7storefront::storefrontauthmethods,
}

#Exclude CitrixFederation method
dsc_sfauthenticationservicemethod{ 'ExcludeCitrixFederation':
dsc_virtualpath => '/Citrix/Authentication',
->dsc_sfauthenticationservicemethod{ 'ExcludeCitrixFederation':
dsc_virtualpath => '/Citrix/Authentication',
dsc_excludeauthenticationmethods => ['CitrixFederation'],
}->
}

#Create the store
dsc_sfstore{'DefaultStore':
dsc_friendlyname => 'DefaultStore',
dsc_virtualpath => '/Citrix/Store',
->dsc_sfstore{'DefaultStore':
dsc_friendlyname => 'DefaultStore',
dsc_virtualpath => '/Citrix/Store',
dsc_authenticationservicevirtualpath => '/Citrix/Authentication',
}->
}

#Create the Store web interface
dsc_sfstorewebreceiver{ 'DefaultStoreWebReceiver':
->dsc_sfstorewebreceiver{ 'DefaultStoreWebReceiver':
dsc_storevirtualpath => '/Citrix/Store',
dsc_virtualpath => '/Citrix/StoreWeb',
require => Dsc_sfstore['DefaultStore']
}->
dsc_virtualpath => '/Citrix/StoreWeb',
require => Dsc_sfstore['DefaultStore']
}

#Make sure that Storefront web receiver authentication methods are the same than Store authentication methods
dsc_xd7storefrontreceiverauthenticationmethod{ 'XD7StoreFrontReceiverWebAuthenticationMethods':
dsc_virtualpath => '/Citrix/StoreWeb',
dsc_siteid => 1,
dsc_authenticationmethod => $storefrontAuthMethods,
require => Dsc_sfstorewebreceiver['DefaultStoreWebReceiver']
->dsc_xd7storefrontreceiverauthenticationmethod{ 'XD7StoreFrontReceiverWebAuthenticationMethods':
dsc_virtualpath => '/Citrix/StoreWeb',
dsc_siteid => 1,
dsc_authenticationmethod => $xd7storefront::storefrontauthmethods,
require => Dsc_sfstorewebreceiver['DefaultStoreWebReceiver']
}
#Link store to XenDesktop site
dsc_sfstorefarm{ 'DefaultStoreFarm':

#Link store to XenDesktop site
->dsc_sfstorefarm{ 'DefaultStoreFarm':
dsc_storevirtualpath => '/Citrix/Store',
dsc_farmname => $xd7sitename,
dsc_farmtype => $xd7farmType,
dsc_servers => $deliverycontrollers,
dsc_transporttype => $deliveryControllersTransportType,
dsc_loadbalance => $deliveryControllersLoadBalance,
#dsc_port => $deliveryControllersPort,
require => Dsc_sfstore['DefaultStore']
dsc_farmname => $xd7storefront::xd7sitename,
dsc_farmtype => $xd7storefront::xd7farmtype,
dsc_servers => $xd7storefront::deliverycontrollers,
dsc_transporttype => $xd7storefront::deliverycontrollerstransporttype,
dsc_loadbalance => $xd7storefront::deliverycontrollersloadbalance,
dsc_port => $xd7storefront::deliverycontrollersport,
require => Dsc_sfstore['DefaultStore']
}

#Disable CRL checking. Causing excepssive delay when storefront logon page is displayed
#http://www.carlstalhood.com/storefront-3-5-tweaks/#crl
dsc_script{ 'CitrixBrokerServiceSSL':
dsc_getscript => 'Return @{ Result = $false) }',
dsc_script{ 'DisableCRLChecking':
dsc_getscript => 'Return @{ Result = $false) }',
dsc_testscript => 'Return $false',
dsc_setscript => 'Add-PSSnapin Citrix.DeliveryServices.Framework.Commands
dsc_setscript => 'Add-PSSnapin Citrix.DeliveryServices.Framework.Commands
Set-DSAssemblyVerification $false'
}

#Disable Customer Experience Improvement Program (CEIP) (HKLM:\SOFTWARE\Citrix\Telemetry\CEIP -Name 'Enabled' -Value "0x00000000") and restart CitrixTelemetryService
#Disable Customer Experience Improvement Program (CEIP)
#(HKLM:\SOFTWARE\Citrix\Telemetry\CEIP -Name 'Enabled' -Value "0x00000000") and restart CitrixTelemetryService
#http://www.carlstalhood.com/storefront-3-5-basic-configuration/#ceip
service{'CitrixTelemetryService':
ensure => 'running',
enable => true
}

registry_value { 'HKLM\SOFTWARE\Citrix\Telemetry\CEIP':
path =>'HKLM\SOFTWARE\Citrix\Telemetry\CEIP',
ensure => present,
path =>'HKLM\SOFTWARE\Citrix\Telemetry\CEIP',
type => 'dword',
data => '0',
notify => Service['CitrixTelemetryService']
}


#Redirect from default IIS page to default store
file{'c:/inetpub/wwwroot/index.html':
ensure => file,
content => template('xd7storefront/index.erb'),
require => Dsc_sfstorewebreceiver['DefaultStoreWebReceiver']
}
}
51 changes: 25 additions & 26 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@
# Sample Usage:
#
class xd7storefront (
$baseurl, # http(s)://FQDN of the required Storefront URL. In case of cluster, use cluster URL
$setup_svc_username,
$setup_svc_password,
$sourcepath,
$xd7sitename,
$xd7farmType = "XenDesktop", # XenDesktop or XenApp
$deliverycontrollers, # List of XML servers (FQDN)
$deliveryControllersPort = 443, # XML port
$deliveryControllersTransportType = "HTTPS", # XML transport type
$deliveryControllersLoadBalance = true,
$storefrontAuthMethods = ['ExplicitForms','IntegratedWindows'],
$https = false,
$sslCertificateSourcePath = '',
$sslCertificatePassword = '',
$sslCertificateThumbprint = '',
$caCertificateSourcePath = '',
$caCertificateThumbprint = ''
String $baseurl, # http(s)://FQDN of the required Storefront URL. In case of cluster, use cluster URL
String $setup_svc_username,
String $setup_svc_password,
String $sourcepath,
String $xd7sitename,
Array[String] $deliverycontrollers, # List of XML servers (FQDN)
Optional[Integer] $deliverycontrollersport = 443,
Optional[String] $deliverycontrollerstransporttype = 'https',
Optional[Boolean] $deliverycontrollersloadbalance = true,
Enum['XenDesktop', 'XenApp'] $xd7farmtype = 'XenDesktop',
Array[String] $storefrontauthmethods = ['ExplicitForms','IntegratedWindows'],
Optional[Boolean] $https = false,
Optional[String] $sslcertificatesourcepath = '',
Optional[String] $sslcertificatepassword = '',
Optional[String] $sslcertificatethumbprint = '',
Optional[String] $cacertificatesourcepath = '',
Optional[String] $cacertificatethumbprint = ''
)

{
Expand All @@ -37,13 +37,12 @@
contain xd7storefront::networkconfig
contain xd7storefront::sslconfig
#contain xd7storefront::service

Class['::xd7storefront::installwindowsfeatures'] ->
Class['::xd7storefront::installstorefront'] ->
Class['::xd7storefront::config'] ->
Class['::xd7storefront::networkconfig'] ->
Class['::xd7storefront::sslconfig']
#Class['::xd7storefront::service']



Class['::xd7storefront::installwindowsfeatures']
->Class['::xd7storefront::installstorefront']
->Class['::xd7storefront::config']
->Class['::xd7storefront::networkconfig']
->Class['::xd7storefront::sslconfig']
#->Class['::xd7storefront::service']

}
23 changes: 11 additions & 12 deletions manifests/installstorefront.pp
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
#Class installing Citrix Storefront feature
class xd7storefront::installstorefront inherits xd7storefront {

dsc_xd7feature { 'XD7Storefront':
dsc_role => 'Storefront',
dsc_sourcepath => $sourcepath,
dsc_ensure => 'present',
notify => Reboot['after_run']
}
dsc_xd7feature { 'XD7Storefront':
dsc_role => 'Storefront',
dsc_sourcepath => $xd7storefront::sourcepath,
dsc_ensure => 'present',
notify => Reboot['after_run']
}

reboot { 'after_run':
apply => finished,
}

}
reboot { 'after_run':
apply => finished,
}
}
Loading

0 comments on commit 76e2a79

Please sign in to comment.