|
393 | 393 | # This option configures a list of users to allow access via the loopback interfaces |
394 | 394 | # |
395 | 395 | class rabbitmq ( |
| 396 | + # ---------------------------------- INSTALL --------------------------------- # |
| 397 | + Boolean $enable_centos_release = false, |
| 398 | + Boolean $enable_rabbitmq_repository = true, |
| 399 | + String $package_ensure = 'installed', |
| 400 | + |
| 401 | + Optional[String[1]] $rpm_repo_primary_gpg_key = undef, |
| 402 | + Optional[String[1]] $rpm_repo_erlang_gpg_key = undef, |
| 403 | + Optional[String[1]] $rpm_repo_server_gpg_key = undef, |
| 404 | + |
| 405 | + |
| 406 | + |
| 407 | + Optional[String] $deb_repo_gpg_key = undef, |
| 408 | + Optional[Variant[Numeric, String[1]]] $package_apt_pin = undef, |
| 409 | + |
| 410 | + Variant[String, Array] $package_name = 'rabbitmq', |
| 411 | + Optional[String] $package_source = undef, |
| 412 | + Optional[String] $package_provider = undef, |
| 413 | + Boolean $manage_python = true, |
| 414 | + String $python_package = 'python', |
| 415 | + Enum['running', 'stopped'] $service_ensure = 'running', |
| 416 | + Boolean $service_manage = true, |
| 417 | + String $service_name = 'rabbitmq', |
| 418 | + String $rabbitmq_user = 'rabbitmq', |
| 419 | + String $rabbitmq_group = 'rabbitmq', |
| 420 | + # ---------------------------------- CONFIG ---------------------------------- # |
396 | 421 | Boolean $admin_enable = true, |
397 | 422 | Boolean $management_enable = false, |
398 | 423 | Boolean $use_config_file_for_plugins = false, |
|
411 | 436 | String $default_user = 'guest', |
412 | 437 | String $default_pass = 'guest', |
413 | 438 | Boolean $delete_guest_user = false, |
414 | | - Boolean $enable_centos_release = false, |
415 | 439 | String $env_config = 'rabbitmq/rabbitmq-env.conf.epp', |
416 | 440 | Stdlib::Absolutepath $env_config_path = '/etc/rabbitmq/rabbitmq-env.conf', |
417 | 441 | Optional[String] $erlang_cookie = undef, |
|
421 | 445 | Boolean $management_ssl = true, |
422 | 446 | Optional[String] $management_hostname = undef, |
423 | 447 | Optional[String] $node_ip_address = undef, |
424 | | - Optional[Variant[Numeric, String[1]]] $package_apt_pin = undef, |
425 | | - String $package_ensure = 'installed', |
426 | | - Optional[String] $package_gpg_key = undef, |
427 | 448 | Optional[Integer] $quorum_cluster_size = undef, |
428 | 449 | Optional[Boolean] $quorum_membership_reconciliation_enabled = undef, |
429 | 450 | Optional[Boolean] $quorum_membership_reconciliation_auto_remove = undef, |
430 | 451 | Optional[Integer] $quorum_membership_reconciliation_interval = undef, |
431 | 452 | Optional[Integer] $quorum_membership_reconciliation_trigger_interval = undef, |
432 | 453 | Optional[Integer] $quorum_membership_reconciliation_target_group_size = undef, |
433 | | - Optional[String] $repo_gpg_key = undef, |
434 | | - Variant[String, Array] $package_name = 'rabbitmq', |
435 | | - Optional[String] $package_source = undef, |
436 | | - Optional[String] $package_provider = undef, |
437 | | - Boolean $repos_ensure = false, |
438 | | - Boolean $manage_python = true, |
439 | | - String $python_package = 'python', |
440 | | - String $rabbitmq_user = 'rabbitmq', |
441 | | - String $rabbitmq_group = 'rabbitmq', |
442 | 454 | Stdlib::Absolutepath $rabbitmq_home = '/var/lib/rabbitmq', |
443 | 455 | Integer $port = 5672, |
444 | 456 | Boolean $tcp_keepalive = false, |
445 | 457 | Integer $tcp_backlog = 128, |
446 | 458 | Optional[Integer] $tcp_sndbuf = undef, |
447 | 459 | Optional[Integer] $tcp_recbuf = undef, |
448 | 460 | Optional[Integer] $heartbeat = undef, |
449 | | - Enum['running', 'stopped'] $service_ensure = 'running', |
450 | | - Boolean $service_manage = true, |
451 | | - String $service_name = 'rabbitmq', |
452 | 461 | Boolean $ssl = false, |
453 | 462 | Boolean $ssl_only = false, |
454 | 463 | Optional[Stdlib::Absolutepath] $ssl_cacert = undef, |
|
549 | 558 | } |
550 | 559 |
|
551 | 560 | # when repos_ensure is true, we configure externel repos |
552 | | - # CentOS 7 doesn't contain rabbitmq. It's only in EPEL. |
553 | | - if $repos_ensure { |
| 561 | + if $enable_rabbitmq_repository { |
554 | 562 | case $facts['os']['family'] { |
555 | 563 | 'RedHat': { |
556 | | - contain rabbitmq::repo::rhel |
| 564 | + require rabbitmq::repo::rhel |
557 | 565 | Class['rabbitmq::repo::rhel'] -> Class['rabbitmq::install'] |
558 | 566 | } |
559 | 567 | 'Debian': { |
560 | | - contain rabbitmq::repo::apt |
| 568 | + require rabbitmq::repo::apt |
561 | 569 | Class['rabbitmq::repo::apt'] -> Class['rabbitmq::install'] |
562 | 570 | } |
563 | 571 | default: { |
|
567 | 575 | package { 'centos-release-rabbitmq-38': |
568 | 576 | ensure => 'present', |
569 | 577 | } |
| 578 | + } elsif $facts['os']['family'] == 'RedHat' and $enable_centos_release and $enable_rabbitmq_repository { |
| 579 | + fail('Both $enable_centos_release and $enable_rabbitmq_repository are true') |
570 | 580 | } |
571 | 581 |
|
572 | 582 | contain rabbitmq::install |
|
0 commit comments