From 32c786502684d298776f283c199e84277e9f6fd1 Mon Sep 17 00:00:00 2001 From: Dennis Hoppe Date: Fri, 3 May 2019 13:08:44 +0200 Subject: [PATCH] Update REFERENCE.md based on new parameter layout --- REFERENCE.md | 221 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 133 insertions(+), 88 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index 32fa4484c..37bc3ac1e 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -16,7 +16,6 @@ _Private Classes_ * `rabbitmq::install`: Ensures that rabbitmq-server exists * `rabbitmq::install::rabbitmqadmin`: Install rabbitmq admin * `rabbitmq::management`: Manage presence / absence of user resource for guest management user. -* `rabbitmq::params`: OS Specific parameters and other settings * `rabbitmq::repo::apt`: requires puppetlabs-apt puppetlabs-stdlib * `rabbitmq::repo::rhel`: Makes sure that the Packagecloud repo is installed * `rabbitmq::service`: This class manages the rabbitmq server service itself. @@ -159,8 +158,27 @@ The following parameters are available in the `rabbitmq` class. Data type: `Boolean` If enabled sets up the management interface/plugin for RabbitMQ. +This also install the rabbitmqadmin command line tool. -Default value: $rabbitmq::params::admin_enable +Default value: `true` + +##### `management_enable` + +Data type: `Boolean` + +If enabled sets up the management interface/plugin for RabbitMQ. +NOTE: This does not install the rabbitmqadmin command line tool. + +Default value: `false` + +##### `use_config_file_for_plugins` + +Data type: `Boolean` + +If enabled the /etc/rabbitmq/enabled_plugins config file is created, +replacing the use of the rabbitmqplugins provider to enable plugins. + +Default value: `false` ##### `auth_backends` @@ -178,7 +196,7 @@ Data type: `Enum['ram', 'disk', 'disc']` Choose between disc and ram nodes. -Default value: $rabbitmq::params::cluster_node_type +Default value: 'disc' ##### `cluster_nodes` @@ -186,7 +204,7 @@ Data type: `Array` An array of nodes for clustering. -Default value: $rabbitmq::params::cluster_nodes +Default value: [] ##### `cluster_partition_handling` @@ -194,7 +212,7 @@ Data type: `String` Value to set for `cluster_partition_handling` RabbitMQ configuration variable. -Default value: $rabbitmq::params::cluster_partition_handling +Default value: 'ignore' ##### `collect_statistics_interval` @@ -210,7 +228,7 @@ Data type: `String` The file to use as the rabbitmq.config template. -Default value: $rabbitmq::params::config +Default value: 'rabbitmq/rabbitmq.config.erb' ##### `config_additional_variables` @@ -218,7 +236,7 @@ Data type: `Hash` Additional config variables in rabbitmq.config -Default value: $rabbitmq::params::config_additional_variables +Default value: {} ##### `config_cluster` @@ -226,7 +244,7 @@ Data type: `Boolean` Enable or disable clustering support. -Default value: $rabbitmq::params::config_cluster +Default value: `false` ##### `config_kernel_variables` @@ -234,7 +252,7 @@ Data type: `Hash` Hash of Erlang kernel configuration variables to set (see [Variables Configurable in rabbitmq.config](#variables-configurable-in-rabbitmq.config)). -Default value: $rabbitmq::params::config_kernel_variables +Default value: {} ##### `config_path` @@ -242,7 +260,7 @@ Data type: `Stdlib::Absolutepath` The path to write the RabbitMQ configuration file to. -Default value: $rabbitmq::params::config_path +Default value: '/etc/rabbitmq/rabbitmq.config' ##### `config_ranch` @@ -250,7 +268,7 @@ Data type: `Boolean` When true, suppress config directives needed for older (<3.6) RabbitMQ versions. -Default value: $rabbitmq::params::config_ranch +Default value: `true` ##### `config_management_variables` @@ -258,7 +276,7 @@ Data type: `Hash` Hash of configuration variables for the [Management Plugin](https://www.rabbitmq.com/management.html). -Default value: $rabbitmq::params::config_management_variables +Default value: {} ##### `config_stomp` @@ -266,7 +284,7 @@ Data type: `Boolean` Enable or disable stomp. -Default value: $rabbitmq::params::config_stomp +Default value: `false` ##### `config_shovel` @@ -274,7 +292,7 @@ Data type: `Boolean` Enable or disable shovel. -Default value: $rabbitmq::params::config_shovel +Default value: `false` ##### `config_shovel_statics` @@ -282,7 +300,7 @@ Data type: `Hash` Hash of static shovel configurations -Default value: $rabbitmq::params::config_shovel_statics +Default value: {} ##### `config_variables` @@ -290,7 +308,7 @@ Data type: `Hash` To set config variables in rabbitmq.config -Default value: $rabbitmq::params::config_variables +Default value: {} ##### `default_user` @@ -298,7 +316,7 @@ Data type: `String` Username to set for the `default_user` in rabbitmq.config. -Default value: $rabbitmq::params::default_user +Default value: 'guest' ##### `default_pass` @@ -306,7 +324,7 @@ Data type: `String` Password to set for the `default_user` in rabbitmq.config. -Default value: $rabbitmq::params::default_pass +Default value: 'guest' ##### `delete_guest_user` @@ -314,7 +332,7 @@ Data type: `Boolean` Controls whether default guest user is deleted. -Default value: $rabbitmq::params::delete_guest_user +Default value: `false` ##### `env_config` @@ -322,7 +340,7 @@ Data type: `String` The template file to use for rabbitmq_env.config. -Default value: $rabbitmq::params::env_config +Default value: 'rabbitmq/rabbitmq-env.conf.erb' ##### `env_config_path` @@ -330,7 +348,7 @@ Data type: `Stdlib::Absolutepath` The path to write the rabbitmq_env.config file to. -Default value: $rabbitmq::params::env_config_path +Default value: '/etc/rabbitmq/rabbitmq-env.conf' ##### `environment_variables` @@ -338,7 +356,7 @@ Data type: `Hash` RabbitMQ Environment Variables in rabbitmq_env.config -Default value: $rabbitmq::params::environment_variables +Default value: { 'LC_ALL' => 'en_US.UTF-8' } ##### `erlang_cookie` @@ -356,7 +374,7 @@ Data type: `Variant[Integer[-1],Enum['unlimited'],Pattern[/^(infinity|\d+(:(infi Set rabbitmq file ulimit. Defaults to 16384. Only available on systems with `$::osfamily == 'Debian'` or `$::osfamily == 'RedHat'`. -Default value: $rabbitmq::params::file_limit +Default value: 16384 ##### `heartbeat` @@ -372,7 +390,7 @@ Data type: `String` Template to use for the inetrc config -Default value: $rabbitmq::params::inetrc_config +Default value: 'rabbitmq/inetrc.erb' ##### `inetrc_config_path` @@ -380,7 +398,7 @@ Data type: `Stdlib::Absolutepath` Path of the file to push the inetrc config to. -Default value: $rabbitmq::params::inetrc_config_path +Default value: '/etc/rabbitmq/inetrc' ##### `ipv6` @@ -388,7 +406,7 @@ Data type: `Boolean` Whether to listen on ipv6 -Default value: $rabbitmq::params::ipv6 +Default value: `false` ##### `interface` @@ -414,7 +432,7 @@ Data type: `Boolean` Set to true to enable LDAP auth. -Default value: $rabbitmq::params::ldap_auth +Default value: `false` ##### `ldap_server` @@ -422,7 +440,7 @@ Data type: `String` LDAP server to use for auth. -Default value: $rabbitmq::params::ldap_server +Default value: 'ldap' ##### `ldap_user_dn_pattern` @@ -430,7 +448,7 @@ Data type: `Optional[String]` User DN pattern for LDAP auth. -Default value: $rabbitmq::params::ldap_user_dn_pattern +Default value: `undef` ##### `ldap_other_bind` @@ -438,7 +456,7 @@ Data type: `String` How to bind to the LDAP server. Defaults to 'anon'. -Default value: $rabbitmq::params::ldap_other_bind +Default value: 'anon' ##### `ldap_config_variables` @@ -446,7 +464,7 @@ Data type: `Hash` Hash of other LDAP config variables. -Default value: $rabbitmq::params::ldap_config_variables +Default value: {} ##### `ldap_use_ssl` @@ -454,7 +472,7 @@ Data type: `Boolean` Set to true to use SSL for the LDAP server. -Default value: $rabbitmq::params::ldap_use_ssl +Default value: `false` ##### `ldap_port` @@ -462,7 +480,7 @@ Data type: `Integer[1, 65535]` Numeric port for LDAP server. -Default value: $rabbitmq::params::ldap_port +Default value: 389 ##### `ldap_log` @@ -470,7 +488,7 @@ Data type: `Boolean` Set to true to log LDAP auth. -Default value: $rabbitmq::params::ldap_log +Default value: `false` ##### `manage_python` @@ -479,7 +497,7 @@ Data type: `Boolean` If enabled, on platforms that don't provide a Python 2 package by default, ensure that the python package is installed (for rabbitmqadmin). This will only apply if `admin_enable` and `service_manage` are set. -Default value: $rabbitmq::params::manage_python +Default value: `true` ##### `management_hostname` @@ -495,7 +513,7 @@ Data type: `Integer[1, 65535]` The port for the RabbitMQ management interface. -Default value: $rabbitmq::params::management_port +Default value: 15672 ##### `management_ip_address` @@ -512,7 +530,7 @@ Data type: `Boolean` Enable/Disable SSL for the management port. Has an effect only if ssl => true. -Default value: $rabbitmq::params::management_ssl +Default value: `true` ##### `node_ip_address` @@ -537,7 +555,7 @@ Data type: `String` Determines the ensure state of the package. Set to installed by default, but could be changed to latest. -Default value: $rabbitmq::params::package_ensure +Default value: 'installed' ##### `package_gpg_key` @@ -548,7 +566,7 @@ RedHat OS family. Set to https://www.rabbitmq.com/rabbitmq-release-signing-key.a https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey for Debian OS Family by default. Note, that `key_content`, if specified, would override this parameter for Debian OS family. -Default value: $rabbitmq::params::package_gpg_key +Default value: `undef` ##### `package_name` @@ -556,7 +574,7 @@ Data type: `Variant[String, Array]` Name(s) of the package(s) to install -Default value: $rabbitmq::params::package_name +Default value: 'rabbitmq' ##### `port` @@ -564,7 +582,15 @@ Data type: `Integer` The RabbitMQ port. -Default value: $rabbitmq::params::port +Default value: 5672 + +##### `python_package` + +Data type: `String` + +Name of the package required by rabbitmqadmin. + +Default value: 'python' ##### `repos_ensure` @@ -572,8 +598,10 @@ Data type: `Boolean` Ensure that a repo with the official (and newer) RabbitMQ package is configured, along with its signing key. Defaults to false (use system packages). This does not ensure that soft dependencies (like EPEL on RHEL systems) are present. +It also does not solve the erlang dependency. See https://www.rabbitmq.com/which-erlang.html for a good breakdown of the +different ways of handling the erlang deps. See also https://github.com/voxpupuli/puppet-rabbitmq/issues/788 -Default value: $rabbitmq::params::repos_ensure +Default value: `false` ##### `service_ensure` @@ -581,7 +609,7 @@ Data type: `Enum['running', 'stopped']` The state of the service. -Default value: $rabbitmq::params::service_ensure +Default value: 'running' ##### `service_manage` @@ -589,7 +617,7 @@ Data type: `Boolean` Determines if the service is managed. -Default value: $rabbitmq::params::service_manage +Default value: `true` ##### `service_name` @@ -597,7 +625,7 @@ Data type: `String` The name of the service to manage. -Default value: $rabbitmq::params::service_name +Default value: 'rabbitmq' ##### `service_restart` @@ -605,7 +633,7 @@ Data type: `Boolean` Default defined in param.pp. Whether to restart the service on config change. -Default value: $rabbitmq::params::service_restart +Default value: `true` ##### `ssl` @@ -613,7 +641,7 @@ Data type: `Boolean` Configures the service for using SSL. -Default value: $rabbitmq::params::ssl +Default value: `false` ##### `ssl_cacert` @@ -661,7 +689,7 @@ Data type: `Boolean` Whether to use the erlang package's SSL (relies on the ssl_erl_path fact) -Default value: $rabbitmq::params::ssl_erl_dist +Default value: `false` ##### `ssl_honor_cipher_order` @@ -669,7 +697,7 @@ Data type: `Boolean` Force use of server cipher order -Default value: $rabbitmq::params::ssl_honor_cipher_order +Default value: `true` ##### `ssl_interface` @@ -694,7 +722,7 @@ Data type: `Boolean` Configures the service to only use SSL. No cleartext TCP listeners will be created. Requires that ssl => true and port => undef -Default value: $rabbitmq::params::ssl_only +Default value: `false` ##### `ssl_management_port` @@ -702,7 +730,7 @@ Data type: `Integer[1, 65535]` SSL management port. -Default value: $rabbitmq::params::ssl_management_port +Default value: 15671 ##### `ssl_port` @@ -710,7 +738,7 @@ Data type: `Integer[1, 65535]` SSL port for RabbitMQ -Default value: $rabbitmq::params::ssl_port +Default value: 5671 ##### `ssl_reuse_sessions` @@ -718,7 +746,7 @@ Data type: `Boolean` Reuse ssl sessions -Default value: $rabbitmq::params::ssl_reuse_sessions +Default value: `true` ##### `ssl_secure_renegotiate` @@ -726,7 +754,7 @@ Data type: `Boolean` Use ssl secure renegotiate -Default value: $rabbitmq::params::ssl_secure_renegotiate +Default value: `true` ##### `ssl_stomp_port` @@ -734,7 +762,7 @@ Data type: `Integer[1, 65535]` SSL stomp port. -Default value: $rabbitmq::params::ssl_stomp_port +Default value: 6164 ##### `ssl_verify` @@ -742,7 +770,7 @@ Data type: `Enum['verify_none','verify_peer']` rabbitmq.config SSL verify setting. -Default value: $rabbitmq::params::ssl_verify +Default value: 'verify_none' ##### `ssl_fail_if_no_peer_cert` @@ -750,7 +778,7 @@ Data type: `Boolean` rabbitmq.config `fail_if_no_peer_cert` setting. -Default value: $rabbitmq::params::ssl_fail_if_no_peer_cert +Default value: `false` ##### `ssl_management_verify` @@ -758,7 +786,7 @@ Data type: `Enum['verify_none','verify_peer']` rabbitmq.config SSL verify setting for rabbitmq_management. -Default value: $rabbitmq::params::ssl_management_verify +Default value: 'verify_none' ##### `ssl_versions` @@ -778,7 +806,7 @@ Data type: `Array` Support only a given list of SSL ciphers. Example: `['dhe_rsa,aes_256_cbc,sha','dhe_dss,aes_256_cbc,sha', 'ecdhe_rsa,aes_256_cbc,sha']`. Supported ciphers in your install can be listed with: rabbitmqctl eval 'ssl:cipher_suites().' Functionality can be tested with cipherscan or similar tool: https://github.com/jvehent/cipherscan.git -Default value: $rabbitmq::params::ssl_ciphers +Default value: [] ##### `stomp_port` @@ -786,7 +814,7 @@ Data type: `Integer[1, 65535]` The port to use for Stomp. -Default value: $rabbitmq::params::stomp_port +Default value: 6163 ##### `stomp_ssl_only` @@ -794,7 +822,7 @@ Data type: `Boolean` Configures STOMP to only use SSL. No cleartext STOMP TCP listeners will be created. Requires setting ssl_stomp_port also. -Default value: $rabbitmq::params::stomp_ssl_only +Default value: `false` ##### `stomp_ensure` @@ -802,7 +830,7 @@ Data type: `Boolean` Enable to install the stomp plugin. -Default value: $rabbitmq::params::stomp_ensure +Default value: `false` ##### `tcp_backlog` @@ -810,7 +838,7 @@ Data type: `Integer` The size of the backlog on TCP connections. -Default value: $rabbitmq::params::tcp_backlog +Default value: 128 ##### `tcp_keepalive` @@ -818,7 +846,7 @@ Data type: `Boolean` Enable TCP connection keepalive for RabbitMQ service. -Default value: $rabbitmq::params::tcp_keepalive +Default value: `false` ##### `tcp_recbuf` @@ -842,7 +870,7 @@ Data type: `Boolean` Boolean to determine if we should DESTROY AND DELETE the RabbitMQ database. -Default value: $rabbitmq::params::wipe_db_on_cookie_change +Default value: `false` ##### `rabbitmq_user` @@ -850,7 +878,7 @@ Data type: `String` OS dependent The system user the rabbitmq daemon runs as. -Default value: $rabbitmq::params::rabbitmq_user +Default value: 'rabbitmq' ##### `rabbitmq_group` @@ -858,7 +886,7 @@ Data type: `String` OS dependent The system group the rabbitmq daemon runs as. -Default value: $rabbitmq::params::rabbitmq_group +Default value: 'rabbitmq' ##### `rabbitmq_home` @@ -866,7 +894,7 @@ Data type: `Stdlib::Absolutepath` OS dependent The home directory of the rabbitmq deamon. -Default value: $rabbitmq::params::rabbitmq_home +Default value: '/var/lib/rabbitmq' ##### `rabbitmqadmin_package` @@ -874,7 +902,7 @@ Data type: `Optional[String]` OS dependent If undef: install rabbitmqadmin via archive, otherwise via package -Default value: $rabbitmq::params::rabbitmqadmin_package +Default value: `undef` ##### `archive_options` @@ -882,7 +910,7 @@ Data type: `Array` Extra options to Archive resource to download rabbitmqadmin file -Default value: $rabbitmq::params::archive_options +Default value: [] ##### `loopback_users` @@ -890,7 +918,7 @@ Data type: `Array` This option configures a list of users to allow access via the loopback interfaces -Default value: $rabbitmq::params::loopback_users +Default value: ['guest'] ##### `package_source` @@ -914,7 +942,7 @@ Data type: `Boolean` -Default value: $rabbitmq::params::ssl_management_fail_if_no_peer_cert +Default value: `false` ### rabbitmq::server @@ -931,7 +959,7 @@ Data type: `Integer` Port that rabbitmq server should listen to -Default value: $rabbitmq::params::port +Default value: $rabbitmq::port ##### `delete_guest_user` @@ -939,7 +967,7 @@ Data type: `Boolean` Whether or not to delete the default user -Default value: $rabbitmq::params::delete_guest_user +Default value: $rabbitmq::delete_guest_user ##### `package_name` @@ -947,7 +975,7 @@ Data type: `Variant[String, Array]` Name of rabbitmq package -Default value: $rabbitmq::params::package_name +Default value: $rabbitmq::package_name ##### `service_name` @@ -955,7 +983,7 @@ Data type: `String` Name of rabbitmq service -Default value: $rabbitmq::params::service_name +Default value: $rabbitmq::service_name ##### `service_ensure` @@ -963,7 +991,7 @@ Data type: `Enum['running', 'stopped']` Desired ensure state for service -Default value: $rabbitmq::params::service_ensure +Default value: $rabbitmq::service_ensure ##### `service_manage` @@ -971,7 +999,7 @@ Data type: `Boolean` Determines if the service is managed -Default value: $rabbitmq::params::service_manage +Default value: $rabbitmq::service_manage ##### `config_stomp` @@ -979,7 +1007,7 @@ Data type: `Boolean` Enable or disable stomp -Default value: $rabbitmq::params::config_stomp +Default value: $rabbitmq::config_stomp ##### `stomp_port` @@ -987,7 +1015,7 @@ Data type: `Integer[1, 65535]` Port stomp should be listening on -Default value: $rabbitmq::params::stomp_port +Default value: $rabbitmq::stomp_port ##### `node_ip_address` @@ -995,7 +1023,7 @@ Data type: `Optional[String]` IP address for rabbitmq to bind to -Default value: $rabbitmq::params::node_ip_address +Default value: $rabbitmq::node_ip_address ##### `config` @@ -1003,7 +1031,7 @@ Data type: `String` Contents of config file -Default value: $rabbitmq::params::config +Default value: $rabbitmq::config ##### `env_config` @@ -1011,7 +1039,7 @@ Data type: `String` Contents of env-config file -Default value: $rabbitmq::params::env_config +Default value: $rabbitmq::env_config ##### `config_cluster` @@ -1019,7 +1047,7 @@ Data type: `Boolean` Whether to configure a RabbitMQ cluster -Default value: $rabbitmq::params::config_cluster +Default value: $rabbitmq::config_cluster ##### `cluster_nodes` @@ -1027,7 +1055,7 @@ Data type: `Array` Which nodes to cluster with (including the current one) -Default value: $rabbitmq::params::cluster_nodes +Default value: $rabbitmq::cluster_nodes ##### `cluster_node_type` @@ -1035,7 +1063,7 @@ Data type: `Enum['ram', 'disk', 'disc']` Type of cluster node (disc/disk or ram) -Default value: $rabbitmq::params::cluster_node_type +Default value: $rabbitmq::cluster_node_type ##### `erlang_cookie` @@ -1043,7 +1071,7 @@ Data type: `Optional[String]` Erlang cookie, must be the same for all nodes in a cluster -Default value: $rabbitmq::params::erlang_cookie +Default value: $rabbitmq::erlang_cookie ##### `wipe_db_on_cookie_change` @@ -1053,7 +1081,7 @@ Whether to wipe the RabbitMQ data if the specified erlang_cookie differs from th the cookie indeed differs, then wiping the database is the *only* thing you can do. You're only required to set this parameter to true as a sign that you realise this. -Default value: $rabbitmq::params::wipe_db_on_cookie_change +Default value: $rabbitmq::wipe_db_on_cookie_change ## Resource types @@ -1428,6 +1456,15 @@ rabbitmq_plugin {'rabbitmq_stomp': } ``` +##### Ensure a rabbitmq_plugin offline resource (with RabbitMQ version >=3.4.0) + +```puppet +rabbitmq_plugin {'rabbitmq_stomp': + ensure => present, + mode => 'offline', +} +``` + #### Properties The following properties are available in the `rabbitmq_plugin` type. @@ -1452,6 +1489,14 @@ namevar The name of the plugin to enable +##### `mode` + +Valid values: online, offline, best + +Define how the plugin should be enabled regarding node status. + +Default value: best + ##### `umask` Sets the octal umask to be used while creating this resource