params.pp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. class nginx::params {
  2. ### Operating System Configuration
  3. ## This is my hacky... no hiera system. Oh well. :)
  4. $_module_defaults = {
  5. 'conf_dir' => '/etc/nginx',
  6. 'daemon_user' => 'nginx',
  7. 'pid' => '/var/run/nginx.pid',
  8. 'root_group' => 'root',
  9. 'log_dir' => '/var/log/nginx',
  10. 'run_dir' => '/var/nginx',
  11. 'package_name' => 'nginx',
  12. 'manage_repo' => false,
  13. }
  14. case $::osfamily {
  15. 'ArchLinux': {
  16. $_module_os_overrides = {
  17. 'pid' => false,
  18. 'daemon_user' => 'http',
  19. }
  20. }
  21. 'Debian': {
  22. if ($::operatingsystem == 'ubuntu' and $::lsbdistcodename in ['lucid', 'precise', 'trusty'])
  23. or ($::operatingsystem == 'debian' and $::operatingsystemmajrelease in ['6', '7', '8']) {
  24. $_module_os_overrides = {
  25. 'manage_repo' => true,
  26. 'daemon_user' => 'www-data',
  27. }
  28. } else {
  29. $_module_os_overrides = {
  30. 'daemon_user' => 'www-data',
  31. }
  32. }
  33. }
  34. 'FreeBSD': {
  35. $_module_os_overrides = {
  36. 'conf_dir' => '/usr/local/etc/nginx',
  37. 'daemon_user' => 'www',
  38. 'root_group' => 'wheel',
  39. }
  40. }
  41. 'Gentoo': {
  42. $_module_os_overrides = {
  43. 'package_name' => 'www-servers/nginx',
  44. }
  45. }
  46. 'RedHat': {
  47. if ($::operatingsystem in ['RedHat', 'CentOS'] and $::operatingsystemmajrelease in ['5', '6', '7']) {
  48. $_module_os_overrides = {
  49. 'manage_repo' => true,
  50. }
  51. }
  52. }
  53. 'Solaris': {
  54. $_module_os_overrides = {
  55. 'daemon_user' => 'webservd',
  56. 'package_name' => undef,
  57. }
  58. }
  59. 'OpenBSD': {
  60. $_module_os_overrides = {
  61. 'daemon_user' => 'www',
  62. 'root_group' => 'wheel',
  63. 'log_dir' => '/var/www/logs',
  64. 'run_dir' => '/var/www',
  65. }
  66. }
  67. default: {
  68. ## For cases not covered in $::osfamily
  69. case $::operatingsystem {
  70. 'SmartOS': {
  71. $_module_os_overrides = {
  72. 'conf_dir' => '/usr/local/etc/nginx',
  73. 'daemon_user' => 'www',
  74. }
  75. }
  76. default: { $_module_os_overrides = {} }
  77. }
  78. }
  79. }
  80. $_module_parameters = merge($_module_defaults, $_module_os_overrides)
  81. ### END Operating System Configuration
  82. ### Referenced Variables
  83. $conf_dir = $_module_parameters['conf_dir']
  84. $log_dir = $_module_parameters['log_dir']
  85. $run_dir = $_module_parameters['run_dir']
  86. $temp_dir = '/tmp'
  87. $pid = $_module_parameters['pid']
  88. $client_body_temp_path = "${run_dir}/client_body_temp"
  89. $daemon_user = $_module_parameters['daemon_user']
  90. $global_owner = 'root'
  91. $global_group = $_module_parameters['root_group']
  92. $global_mode = '0644'
  93. $http_access_log = "${log_dir}/access.log"
  94. $manage_repo = $_module_parameters['manage_repo']
  95. $nginx_error_log = "${log_dir}/error.log"
  96. $root_group = $_module_parameters['root_group']
  97. $package_name = $_module_parameters['package_name']
  98. $proxy_temp_path = "${run_dir}/proxy_temp"
  99. $sites_available_owner = 'root'
  100. $sites_available_group = $_module_parameters['root_group']
  101. $sites_available_mode = '0644'
  102. $super_user = true
  103. ### END Referenced Variables
  104. }