Skip to content

Commit

Permalink
implement Arch support
Browse files Browse the repository at this point in the history
  • Loading branch information
bastelfreak authored and William Yardley committed Aug 18, 2017
1 parent eb2e637 commit 5658769
Show file tree
Hide file tree
Showing 15 changed files with 69 additions and 100 deletions.
8 changes: 6 additions & 2 deletions manifests/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
$env_config_path = $rabbitmq::env_config_path
$erlang_cookie = $rabbitmq::erlang_cookie
$interface = $rabbitmq::interface
$management_ip = $rabbitmq::management_ip
$management_port = $rabbitmq::management_port
$management_ssl = $rabbitmq::management_ssl
$management_hostname = $rabbitmq::management_hostname
Expand Down Expand Up @@ -108,8 +109,11 @@
}
# Get ranch (socket acceptor pool) availability,
# use init class variable for that since version from the fact comes too late.
$ranch = versioncmp($rabbitmq::version, '3.6') >= 0
# Now that we have to rely on the fact, this may cause some chicken / egg
# or idempotency problems
if $::rabbitmq_version {
$ranch = versioncmp($::rabbitmq_version, '3.6') >= 0
}
file { '/etc/rabbitmq':
ensure => directory,
Expand Down
42 changes: 9 additions & 33 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,18 @@
Stdlib::Absolutepath $env_config_path = $rabbitmq::params::env_config_path,
Optional[String] $erlang_cookie = $rabbitmq::params::erlang_cookie,
$interface = $rabbitmq::params::interface,
Optional[Integer] $management_port = $rabbitmq::params::management_port,
$management_ip = $rabbitmq::params::management_ip,
Integer $management_port = $rabbitmq::params::management_port,
$management_ssl = $rabbitmq::params::management_ssl,
Optional[String] $management_hostname = $rabbitmq::params::management_hostname,
String $node_ip_address = $rabbitmq::params::node_ip_address,
$package_apt_pin = $rabbitmq::params::package_apt_pin,
String $package_ensure = $rabbitmq::params::package_ensure,
String $package_gpg_key = $rabbitmq::params::package_gpg_key,
String $package_name = $rabbitmq::params::package_name,
Optional[String] $package_provider = $rabbitmq::params::package_provider,
Optional[String] $package_source = undef,
Boolean $repos_ensure = $rabbitmq::params::repos_ensure,
$manage_repos = $rabbitmq::params::manage_repos,
Stdlib::Absolutepath $plugin_dir = $rabbitmq::params::plugin_dir,
$rabbitmq_user = $rabbitmq::params::rabbitmq_user,
$rabbitmq_group = $rabbitmq::params::rabbitmq_group,
$rabbitmq_home = $rabbitmq::params::rabbitmq_home,
Expand All @@ -48,10 +47,10 @@
String $ssl_key = $rabbitmq::params::ssl_key,
Optional[Integer] $ssl_depth = $rabbitmq::params::ssl_depth,
Optional[String] $ssl_cert_password = $rabbitmq::params::ssl_cert_password,
Optional[Integer] $ssl_port = $rabbitmq::params::ssl_port,
Integer $ssl_port = $rabbitmq::params::ssl_port,
$ssl_interface = $rabbitmq::params::ssl_interface,
Optional[Integer] $ssl_management_port = $rabbitmq::params::ssl_management_port,
Optional[Integer] $ssl_stomp_port = $rabbitmq::params::ssl_stomp_port,
Integer $ssl_management_port = $rabbitmq::params::ssl_management_port,
Integer $ssl_stomp_port = $rabbitmq::params::ssl_stomp_port,
$ssl_verify = $rabbitmq::params::ssl_verify,
$ssl_fail_if_no_peer_cert = $rabbitmq::params::ssl_fail_if_no_peer_cert,
Optional[Array] $ssl_versions = $rabbitmq::params::ssl_versions,
Expand All @@ -65,12 +64,12 @@
$ldap_port = $rabbitmq::params::ldap_port,
Boolean $ldap_log = $rabbitmq::params::ldap_log,
Hash $ldap_config_variables = $rabbitmq::params::ldap_config_variables,
$stomp_port = $rabbitmq::params::stomp_port,
Integer $stomp_port = $rabbitmq::params::stomp_port,
Boolean $stomp_ssl_only = $rabbitmq::params::stomp_ssl_only,
$version = $rabbitmq::params::version,
Optional[String] $version = undef,
Boolean $wipe_db_on_cookie_change = $rabbitmq::params::wipe_db_on_cookie_change,
$cluster_partition_handling = $rabbitmq::params::cluster_partition_handling,
$file_limit = $rabbitmq::params::file_limit,
Variant[Integer, String] $file_limit = $rabbitmq::params::file_limit,
Hash $environment_variables = $rabbitmq::params::environment_variables,
Hash $config_variables = $rabbitmq::params::config_variables,
Hash $config_kernel_variables = $rabbitmq::params::config_kernel_variables,
Expand All @@ -86,34 +85,11 @@

# Validate install parameters.
validate_re($package_apt_pin, '^(|\d+)$')
validate_re($version, '^\d+\.\d+\.\d+(-\d+)*$') # Allow 3 digits and optional -n postfix.
validate_string($package_ensure)
validate_string($package_gpg_key)
validate_string($package_name)
validate_string($package_provider)
validate_bool($repos_ensure)
validate_string($node_ip_address)
if ! is_integer($port) {
validate_re($port, ['\d+','UNSET'])
}
if ! is_integer($stomp_port) {
validate_re($stomp_port, '\d+')
}

# using sprintf for conversion to string, because "${file_limit}" doesn't
# pass lint, despite being nicer
validate_re(sprintf('%s', $file_limit),
'^(\d+|-1|unlimited|infinity)$', '$file_limit must be a positive integer, \'-1\', \'unlimited\', or \'infinity\'.')
if ! is_integer($ssl_port) {
validate_re($ssl_port, '\d+')
}
if ! is_integer($ssl_management_port) {
validate_re($ssl_management_port, '\d+')
}
if ! is_integer($ssl_stomp_port) {
validate_re($ssl_stomp_port, '\d+')
}
validate_re($ldap_port, '\d+')

if $ssl_only and ! $ssl {
fail('$ssl_only => true requires that $ssl => true')
Expand All @@ -138,7 +114,7 @@
}

if $version != undef {
warning('$version is now deprecated, and will not have any effect.')
warning('$version is now deprecated, and will not have any effect. If you need to pin to a particular version, use $package_ensure')
}

if $repos_ensure {
Expand Down
12 changes: 4 additions & 8 deletions manifests/install.pp
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
# Class rabbitmq::install
# Ensures the rabbitmq-server exists
# Ensures that rabbitmq-server exists
class rabbitmq::install {

$package_ensure = $rabbitmq::package_ensure
$package_name = $rabbitmq::package_name
$package_provider = $rabbitmq::package_provider
$package_require = $rabbitmq::package_require
$package_source = $rabbitmq::real_package_source
$rabbitmq_group = $rabbitmq::rabbitmq_group

package { 'rabbitmq-server':
ensure => $package_ensure,
name => $package_name,
provider => $package_provider,
notify => Class['rabbitmq::service'],
ensure => $package_ensure,
name => $package_name,
notify => Class['rabbitmq::service'],
}

if $rabbitmq::environment_variables['MNESIA_BASE'] {
Expand Down
4 changes: 2 additions & 2 deletions manifests/install/rabbitmqadmin.pp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@

staging::file { 'rabbitmqadmin':
target => "${rabbitmq::rabbitmq_home}/rabbitmqadmin",
source => "${protocol}://${default_user}:${default_pass}@${sanitized_ip}:${management_port}/cli/rabbitmqadmin",
curl_option => "-k ${curl_prefix} --retry 30 --retry-delay 6",
source => "${protocol}://${sanitized_ip}:${management_port}/cli/rabbitmqadmin",
curl_option => "-u \"${default_user}:${default_pass}\" -k ${curl_prefix} --retry 30 --retry-delay 6",
timeout => '180',
wget_option => '--no-proxy --no-check-certificate',
require => [
Expand Down
27 changes: 16 additions & 11 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,18 @@
class rabbitmq::params {

case $::osfamily {
'Archlinux': {
$package_ensure = 'installed'
$package_name = 'rabbitmq'
$service_name = 'rabbitmq'
$rabbitmq_user = 'rabbitmq'
$rabbitmq_group = 'rabbitmq'
$rabbitmq_home = '/var/lib/rabbitmq'
}
'Debian': {
$package_ensure = 'installed'
$package_name = 'rabbitmq-server'
$service_name = 'rabbitmq-server'
$package_provider = 'apt'
$rabbitmq_user = 'rabbitmq'
$rabbitmq_group = 'rabbitmq'
$rabbitmq_home = '/var/lib/rabbitmq'
Expand All @@ -18,7 +25,6 @@
$package_ensure = 'installed'
$package_name = 'rabbitmq'
$service_name = 'rabbitmq'
$package_provider = 'openbsd'
$rabbitmq_user = '_rabbitmq'
$rabbitmq_group = '_rabbitmq'
$rabbitmq_home = '/var/rabbitmq'
Expand All @@ -27,7 +33,6 @@
$package_ensure = 'installed'
$package_name = 'rabbitmq-server'
$service_name = 'rabbitmq-server'
$package_provider = 'yum'
$rabbitmq_user = 'rabbitmq'
$rabbitmq_group = 'rabbitmq'
$rabbitmq_home = '/var/lib/rabbitmq'
Expand All @@ -36,7 +41,6 @@
$package_ensure = 'installed'
$package_name = 'rabbitmq-server'
$service_name = 'rabbitmq-server'
$package_provider = 'zypper'
$rabbitmq_user = 'rabbitmq'
$rabbitmq_group = 'rabbitmq'
$rabbitmq_home = '/var/lib/rabbitmq'
Expand All @@ -49,7 +53,8 @@
#install
$admin_enable = true
$management_hostname = undef
$management_port = '15672'
$management_ip = '0.0.0.0'
$management_port = 15672
$management_ssl = true
$package_apt_pin = ''
$package_gpg_key = 'https://www.rabbitmq.com/rabbitmq-release-signing-key.asc'
Expand All @@ -74,7 +79,7 @@
$erlang_cookie = undef
$interface = 'UNSET'
$node_ip_address = 'UNSET'
$port = '5672'
$port = 5672
$tcp_keepalive = false
$tcp_backlog = 128
$tcp_sndbuf = undef
Expand All @@ -87,10 +92,10 @@
$ssl_key = 'UNSET'
$ssl_depth = undef
$ssl_cert_password = undef
$ssl_port = '5671'
$ssl_port = 5671
$ssl_interface = 'UNSET'
$ssl_management_port = '15671'
$ssl_stomp_port = '6164'
$ssl_management_port = 15671
$ssl_stomp_port = 6164
$ssl_verify = 'verify_none'
$ssl_fail_if_no_peer_cert = false
$ssl_versions = undef
Expand All @@ -101,10 +106,10 @@
$ldap_user_dn_pattern = 'cn=username,ou=People,dc=example,dc=com'
$ldap_other_bind = 'anon'
$ldap_use_ssl = false
$ldap_port = '389'
$ldap_port = 389
$ldap_log = false
$ldap_config_variables = {}
$stomp_port = '6163'
$stomp_port = 6163
$stomp_ssl_only = false
$wipe_db_on_cookie_change = false
$cluster_partition_handling = 'ignore'
Expand Down
6 changes: 6 additions & 0 deletions manifests/repo/rhel.pp
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,10 @@
gpgkey => $key_source,
enabled => 1,
}

# This may still be needed to prevent warnings
exec { "rpm --import ${key_source}":
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
unless => 'rpm -q gpg-pubkey-6026dfca-573adfde 2>/dev/null',
}
}
2 changes: 1 addition & 1 deletion spec/acceptance/delete_guest_user_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
it 'should run successfully' do
pp = <<-EOS
class { 'rabbitmq':
port => '5672',
port => 5672,
delete_guest_user => true,
}
if $::osfamily == 'RedHat' {
Expand Down
2 changes: 1 addition & 1 deletion spec/acceptance/parameter_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class { 'erlang': epel_enable => true }
}
class { '::rabbitmq':
service_manage => true,
port => '5672',
port => 5672,
delete_guest_user => true,
admin_enable => true,
}
Expand Down
2 changes: 1 addition & 1 deletion spec/acceptance/policy_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class { 'erlang': epel_enable => true }
}
class { '::rabbitmq':
service_manage => true,
port => '5672',
port => 5672,
delete_guest_user => true,
admin_enable => true,
} ->
Expand Down
6 changes: 3 additions & 3 deletions spec/acceptance/queue_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class { 'erlang': epel_enable => true }
}
class { '::rabbitmq':
service_manage => true,
port => '5672',
port => 5672,
delete_guest_user => true,
admin_enable => true,
} ->
Expand Down Expand Up @@ -87,8 +87,8 @@ class { 'erlang': epel_enable => true }
}
class { '::rabbitmq':
service_manage => true,
port => '5672',
management_port => '11111',
port => 5672,
management_port => 11111,
delete_guest_user => true,
admin_enable => true,
} ->
Expand Down
2 changes: 1 addition & 1 deletion spec/acceptance/user_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class { 'erlang': epel_enable => true }
}
class { '::rabbitmq':
service_manage => true,
port => '5672',
port => 5672,
delete_guest_user => true,
admin_enable => true,
} ->
Expand Down
2 changes: 1 addition & 1 deletion spec/acceptance/vhost_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class { 'erlang': epel_enable => true }
}
class { '::rabbitmq':
service_manage => true,
port => '5672',
port => 5672,
delete_guest_user => true,
admin_enable => true,
} ->
Expand Down
Loading

0 comments on commit 5658769

Please sign in to comment.