redhat.pp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # Class: nginx::package::redhat
  2. #
  3. # This module manages NGINX package installation on RedHat based systems
  4. #
  5. # Parameters:
  6. #
  7. # There are no default parameters for this class.
  8. #
  9. # Actions:
  10. #
  11. # Requires:
  12. #
  13. # Sample Usage:
  14. #
  15. # This class file is not called directly
  16. class nginx::package::redhat (
  17. $manage_repo = true,
  18. $package_ensure = 'present',
  19. $package_name = 'nginx',
  20. $package_source = 'nginx-stable',
  21. ) {
  22. #Install the CentOS-specific packages on that OS, otherwise assume it's a RHEL
  23. #clone and provide the Red Hat-specific package. This comes into play when not
  24. #on RHEL or CentOS and $manage_repo is set manually to 'true'.
  25. if $::operatingsystem == 'centos' {
  26. $_os = 'centos'
  27. } else {
  28. $_os = 'rhel'
  29. }
  30. if $manage_repo {
  31. case $package_source {
  32. 'nginx', 'nginx-stable': {
  33. yumrepo { 'nginx-release':
  34. baseurl => "http://nginx.org/packages/${_os}/${::operatingsystemmajrelease}/\$basearch/",
  35. descr => 'nginx repo',
  36. enabled => '1',
  37. gpgcheck => '1',
  38. priority => '1',
  39. gpgkey => 'http://nginx.org/keys/nginx_signing.key',
  40. before => Package['nginx'],
  41. }
  42. }
  43. 'nginx-mainline': {
  44. yumrepo { 'nginx-release':
  45. baseurl => "http://nginx.org/packages/mainline/${_os}/${::operatingsystemmajrelease}/\$basearch/",
  46. descr => 'nginx repo',
  47. enabled => '1',
  48. gpgcheck => '1',
  49. priority => '1',
  50. gpgkey => 'http://nginx.org/keys/nginx_signing.key',
  51. before => Package['nginx'],
  52. }
  53. }
  54. default: {
  55. fail("\$package_source must be 'nginx-stable' or 'nginx-mainline'. It was set to '${package_source}'")
  56. }
  57. }
  58. }
  59. package { 'nginx':
  60. ensure => $package_ensure,
  61. name => $package_name,
  62. }
  63. }