jetty.pp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. # PRIVATE CLASS - do not use directly
  2. class puppetdb::server::jetty (
  3. $listen_address = $puppetdb::params::listen_address,
  4. $listen_port = $puppetdb::params::listen_port,
  5. $disable_cleartext = $puppetdb::params::disable_cleartext,
  6. $ssl_listen_address = $puppetdb::params::ssl_listen_address,
  7. $ssl_listen_port = $puppetdb::params::ssl_listen_port,
  8. $disable_ssl = $puppetdb::params::disable_ssl,
  9. $ssl_set_cert_paths = $puppetdb::params::ssl_set_cert_paths,
  10. $ssl_cert_path = $puppetdb::params::ssl_cert_path,
  11. $ssl_key_path = $puppetdb::params::ssl_key_path,
  12. $ssl_ca_cert_path = $puppetdb::params::ssl_ca_cert_path,
  13. $ssl_protocols = $puppetdb::params::ssl_protocols,
  14. $confdir = $puppetdb::params::confdir,
  15. $max_threads = $puppetdb::params::max_threads,
  16. $puppetdb_user = $puppetdb::params::puppetdb_user,
  17. $puppetdb_group = $puppetdb::params::puppetdb_group,
  18. ) inherits puppetdb::params {
  19. $jetty_ini = "${confdir}/jetty.ini"
  20. file { $jetty_ini:
  21. ensure => file,
  22. owner => $puppetdb_user,
  23. group => $puppetdb_group,
  24. mode => '0600',
  25. }
  26. # Set the defaults
  27. Ini_setting {
  28. path => $jetty_ini,
  29. ensure => present,
  30. section => 'jetty',
  31. require => File[$jetty_ini],
  32. }
  33. $cleartext_setting_ensure = $disable_cleartext ? {
  34. true => 'absent',
  35. default => 'present',
  36. }
  37. ini_setting { 'puppetdb_host':
  38. ensure => $cleartext_setting_ensure,
  39. setting => 'host',
  40. value => $listen_address,
  41. }
  42. ini_setting { 'puppetdb_port':
  43. ensure => $cleartext_setting_ensure,
  44. setting => 'port',
  45. value => $listen_port,
  46. }
  47. $ssl_setting_ensure = $disable_ssl ? {
  48. true => 'absent',
  49. default => 'present',
  50. }
  51. ini_setting { 'puppetdb_sslhost':
  52. ensure => $ssl_setting_ensure,
  53. setting => 'ssl-host',
  54. value => $ssl_listen_address,
  55. }
  56. ini_setting { 'puppetdb_sslport':
  57. ensure => $ssl_setting_ensure,
  58. setting => 'ssl-port',
  59. value => $ssl_listen_port,
  60. }
  61. if $ssl_protocols != undef {
  62. validate_string($ssl_protocols)
  63. ini_setting { 'puppetdb_sslprotocols':
  64. ensure => $ssl_setting_ensure,
  65. setting => 'ssl-protocols',
  66. value => $ssl_protocols,
  67. }
  68. }
  69. if str2bool($ssl_set_cert_paths) == true {
  70. # assume paths have been validated in calling class
  71. ini_setting { 'puppetdb_ssl_key':
  72. ensure => present,
  73. setting => 'ssl-key',
  74. value => $ssl_key_path,
  75. }
  76. ini_setting { 'puppetdb_ssl_cert':
  77. ensure => present,
  78. setting => 'ssl-cert',
  79. value => $ssl_cert_path,
  80. }
  81. ini_setting { 'puppetdb_ssl_ca_cert':
  82. ensure => present,
  83. setting => 'ssl-ca-cert',
  84. value => $ssl_ca_cert_path,
  85. }
  86. }
  87. if ($max_threads) {
  88. ini_setting { 'puppetdb_max_threads':
  89. setting => 'max-threads',
  90. value => $max_threads,
  91. }
  92. } else {
  93. ini_setting { 'puppetdb_max_threads':
  94. ensure => absent,
  95. setting => 'max-threads',
  96. }
  97. }
  98. }