params.pp 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. # PRIVATE CLASS - do not use directly
  2. #
  3. # The puppetdb default configuration settings.
  4. class puppetdb::params inherits puppetdb::globals {
  5. $listen_address = 'localhost'
  6. $listen_port = '8080'
  7. $disable_cleartext = false
  8. $open_listen_port = false
  9. $ssl_listen_address = '0.0.0.0'
  10. $ssl_listen_port = '8081'
  11. $ssl_protocols = undef
  12. $disable_ssl = false
  13. $open_ssl_listen_port = undef
  14. $postgres_listen_addresses = 'localhost'
  15. $puppetdb_version = $puppetdb::globals::version
  16. $database = $puppetdb::globals::database
  17. $manage_dbserver = true
  18. $manage_pg_repo = true
  19. $postgres_version = '9.4'
  20. # The remaining database settings are not used for an embedded database
  21. $database_host = 'localhost'
  22. $database_port = '5432'
  23. $database_name = 'puppetdb'
  24. $database_username = 'puppetdb'
  25. $database_password = 'puppetdb'
  26. $database_ssl = undef
  27. $jdbc_ssl_properties = ''
  28. $database_validate = true
  29. $database_max_pool_size = undef
  30. # These settings manage the various auto-deactivation and auto-purge settings
  31. $node_ttl = '0s'
  32. $node_purge_ttl = '0s'
  33. $report_ttl = '14d'
  34. $gc_interval = '60'
  35. $log_slow_statements = '10'
  36. $conn_max_age = '60'
  37. $conn_keep_alive = '45'
  38. $conn_lifetime = '0'
  39. $max_threads = undef
  40. # These settings are for the read database
  41. $read_database = 'postgres'
  42. $read_database_host = undef
  43. $read_database_port = '5432'
  44. $read_database_name = 'puppetdb'
  45. $read_database_username = 'puppetdb'
  46. $read_database_password = 'puppetdb'
  47. $read_database_ssl = undef
  48. $read_database_jdbc_ssl_properties = ''
  49. $read_database_validate = true
  50. $read_log_slow_statements = '10'
  51. $read_conn_max_age = '60'
  52. $read_conn_keep_alive = '45'
  53. $read_conn_lifetime = '0'
  54. $read_database_max_pool_size = undef
  55. $manage_firewall = true
  56. $java_args = {}
  57. $merge_default_java_args = true
  58. $puppetdb_package = 'puppetdb'
  59. $puppetdb_service = 'puppetdb'
  60. $masterless = false
  61. if !($puppetdb_version in ['latest','present','absent']) and versioncmp($puppetdb_version, '3.0.0') < 0 {
  62. case $::osfamily {
  63. 'RedHat', 'Suse', 'Archlinux','Debian': {
  64. $etcdir = '/etc/puppetdb'
  65. $vardir = '/var/lib/puppetdb'
  66. $database_embedded_path = "${vardir}/db/db"
  67. $puppet_confdir = pick($settings::confdir,'/etc/puppet')
  68. $puppet_service_name = 'puppetmaster'
  69. }
  70. 'OpenBSD': {
  71. $etcdir = '/etc/puppetdb'
  72. $vardir = '/var/db/puppetdb'
  73. $database_embedded_path = "${vardir}/db/db"
  74. $puppet_confdir = pick($settings::confdir,'/etc/puppet')
  75. $puppet_service_name = 'puppetmasterd'
  76. }
  77. 'FreeBSD': {
  78. $etcdir = '/usr/local/etc/puppetdb'
  79. $vardir = '/var/db/puppetdb'
  80. $database_embedded_path = "${vardir}/db/db"
  81. $puppet_confdir = pick($settings::confdir,'/usr/local/etc/puppet')
  82. $puppet_service_name = 'puppetmaster'
  83. }
  84. default: {
  85. fail("The fact 'osfamily' is set to ${::osfamily} which is not supported by the puppetdb module.")
  86. }
  87. }
  88. $terminus_package = 'puppetdb-terminus'
  89. $test_url = '/v3/version'
  90. } else {
  91. case $::osfamily {
  92. 'RedHat', 'Suse', 'Archlinux','Debian': {
  93. $etcdir = '/etc/puppetlabs/puppetdb'
  94. $puppet_confdir = pick($settings::confdir,'/etc/puppetlabs/puppet')
  95. $puppet_service_name = 'puppetserver'
  96. }
  97. 'OpenBSD': {
  98. $etcdir = '/etc/puppetlabs/puppetdb'
  99. $puppet_confdir = pick($settings::confdir,'/etc/puppetlabs/puppet')
  100. $puppet_service_name = undef
  101. }
  102. 'FreeBSD': {
  103. $etcdir = '/usr/local/etc/puppetlabs/puppetdb'
  104. $puppet_confdir = pick($settings::confdir,'/usr/local/etc/puppetlabs/puppet')
  105. $puppet_service_name = undef
  106. }
  107. default: {
  108. fail("The fact 'osfamily' is set to ${::osfamily} which is not supported by the puppetdb module.")
  109. }
  110. }
  111. $terminus_package = 'puppetdb-termini'
  112. $test_url = '/pdb/meta/v1/version'
  113. $vardir = '/opt/puppetlabs/server/data/puppetdb'
  114. $database_embedded_path = "${vardir}/db/db"
  115. }
  116. $confdir = "${etcdir}/conf.d"
  117. $ssl_dir = "${etcdir}/ssl"
  118. case $::osfamily {
  119. 'RedHat', 'Suse', 'Archlinux': {
  120. $puppetdb_user = 'puppetdb'
  121. $puppetdb_group = 'puppetdb'
  122. $puppetdb_initconf = '/etc/sysconfig/puppetdb'
  123. }
  124. 'Debian': {
  125. $puppetdb_user = 'puppetdb'
  126. $puppetdb_group = 'puppetdb'
  127. $puppetdb_initconf = '/etc/default/puppetdb'
  128. }
  129. 'OpenBSD': {
  130. $puppetdb_user = '_puppetdb'
  131. $puppetdb_group = '_puppetdb'
  132. $puppetdb_initconf = undef
  133. }
  134. 'FreeBSD': {
  135. $puppetdb_user = 'puppetdb'
  136. $puppetdb_group = 'puppetdb'
  137. $puppetdb_initconf = undef
  138. }
  139. default: {
  140. fail("The fact 'osfamily' is set to ${::osfamily} which is not supported by the puppetdb module.")
  141. }
  142. }
  143. $puppet_conf = "${puppet_confdir}/puppet.conf"
  144. $puppetdb_startup_timeout = 120
  145. $puppetdb_service_status = 'running'
  146. $command_threads = undef
  147. $store_usage = undef
  148. $temp_usage = undef
  149. $ssl_set_cert_paths = false
  150. $ssl_cert_path = "${ssl_dir}/public.pem"
  151. $ssl_key_path = "${ssl_dir}/private.pem"
  152. $ssl_ca_cert_path = "${ssl_dir}/ca.pem"
  153. $ssl_deploy_certs = false
  154. $ssl_key = undef
  155. $ssl_cert = undef
  156. $ssl_ca_cert = undef
  157. $certificate_whitelist_file = "${etcdir}/certificate-whitelist"
  158. # the default is free access for now
  159. $certificate_whitelist = [ ]
  160. # change to this to only allow access by the puppet master by default:
  161. #$certificate_whitelist = [ $::servername ]
  162. # Get the parameter name for the database connection pool tuning
  163. if $puppetdb_version in ['latest','present'] or versioncmp($puppetdb_version, '4.0.0') >= 0 {
  164. $database_max_pool_size_setting_name = 'maximum-pool-size'
  165. } elsif versioncmp($puppetdb_version, '2.8.0') >= 0 {
  166. $database_max_pool_size_setting_name = 'partition-conn-max'
  167. } else {
  168. $database_max_pool_size_setting_name = undef
  169. }
  170. }