params.pp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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. } else {
  52. $_module_os_overrides = {}
  53. }
  54. }
  55. 'Solaris': {
  56. $_module_os_overrides = {
  57. 'daemon_user' => 'webservd',
  58. 'package_name' => undef,
  59. }
  60. }
  61. 'OpenBSD': {
  62. $_module_os_overrides = {
  63. 'daemon_user' => 'www',
  64. 'root_group' => 'wheel',
  65. 'log_dir' => '/var/www/logs',
  66. 'run_dir' => '/var/www',
  67. }
  68. }
  69. default: {
  70. ## For cases not covered in $::osfamily
  71. case $::operatingsystem {
  72. 'SmartOS': {
  73. $_module_os_overrides = {
  74. 'conf_dir' => '/usr/local/etc/nginx',
  75. 'daemon_user' => 'www',
  76. }
  77. }
  78. default: { $_module_os_overrides = {} }
  79. }
  80. }
  81. }
  82. $_module_parameters = merge($_module_defaults, $_module_os_overrides)
  83. ### END Operating System Configuration
  84. ### Referenced Variables
  85. $conf_dir = $_module_parameters['conf_dir']
  86. $log_dir = $_module_parameters['log_dir']
  87. $run_dir = $_module_parameters['run_dir']
  88. $temp_dir = '/tmp'
  89. $pid = $_module_parameters['pid']
  90. $client_body_temp_path = "${run_dir}/client_body_temp"
  91. $daemon_user = $_module_parameters['daemon_user']
  92. $global_owner = 'root'
  93. $global_group = $_module_parameters['root_group']
  94. $global_mode = '0644'
  95. $http_access_log = "${log_dir}/access.log"
  96. $manage_repo = $_module_parameters['manage_repo']
  97. $nginx_error_log = "${log_dir}/error.log"
  98. $root_group = $_module_parameters['root_group']
  99. $package_name = $_module_parameters['package_name']
  100. $proxy_temp_path = "${run_dir}/proxy_temp"
  101. $sites_available_owner = 'root'
  102. $sites_available_group = $_module_parameters['root_group']
  103. $sites_available_mode = '0644'
  104. $super_user = true
  105. ### END Referenced Variables
  106. }