105 lines
3.8 KiB
Ruby
105 lines
3.8 KiB
Ruby
name "rabbitmq"
|
|
maintainer "Opscode, Inc."
|
|
maintainer_email "cookbooks@opscode.com"
|
|
license "Apache 2.0"
|
|
description "Installs and configures RabbitMQ server"
|
|
version "2.3.3"
|
|
recipe "rabbitmq", "Install and configure RabbitMQ"
|
|
recipe "rabbitmq::cluster", "Set up RabbitMQ clustering."
|
|
recipe "rabbitmq::plugin_management", "Manage plugins with node attributes"
|
|
recipe "rabbitmq::virtualhost_management", "Manage virtualhost with node attributes"
|
|
recipe "rabbitmq::user_management", "Manage users with node attributes"
|
|
depends "erlang", ">= 0.9"
|
|
|
|
%w{ubuntu debian linuxmint redhat centos scientific amazon fedora oracle smartos suse}.each do |os|
|
|
supports os
|
|
end
|
|
|
|
attribute "rabbitmq",
|
|
:display_name => "RabbitMQ",
|
|
:description => "Hash of RabbitMQ attributes",
|
|
:type => "hash"
|
|
|
|
attribute "rabbitmq/nodename",
|
|
:display_name => "RabbitMQ Erlang node name",
|
|
:description => "The Erlang node name for this server.",
|
|
:default => "node['hostname']"
|
|
|
|
attribute "rabbitmq/address",
|
|
:display_name => "RabbitMQ server IP address",
|
|
:description => "IP address to bind."
|
|
|
|
attribute "rabbitmq/port",
|
|
:display_name => "RabbitMQ server port",
|
|
:description => "TCP port to bind."
|
|
|
|
attribute "rabbitmq/config",
|
|
:display_name => "RabbitMQ config file to load",
|
|
:description => "Path to the rabbitmq.config file, if any."
|
|
|
|
attribute "rabbitmq/logdir",
|
|
:display_name => "RabbitMQ log directory",
|
|
:description => "Path to the directory for log files."
|
|
|
|
attribute "rabbitmq/mnesiadir",
|
|
:display_name => "RabbitMQ Mnesia database directory",
|
|
:description => "Path to the directory for Mnesia database files."
|
|
|
|
attribute "rabbitmq/cluster",
|
|
:display_name => "RabbitMQ clustering",
|
|
:description => "Whether to activate clustering.",
|
|
:default => "no"
|
|
|
|
attribute "rabbitmq/cluster_config",
|
|
:display_name => "RabbitMQ clustering configuration file",
|
|
:description => "Path to the clustering configuration file, if cluster is yes.",
|
|
:default => "/etc/rabbitmq/rabbitmq_cluster.config"
|
|
|
|
attribute "rabbitmq/cluster_disk_nodes",
|
|
:display_name => "RabbitMQ cluster disk nodes",
|
|
:description => "Array of member Erlang nodenames for the disk-based storage nodes in the cluster.",
|
|
:default => [],
|
|
:type => "array"
|
|
|
|
attribute "rabbitmq/erlang_cookie",
|
|
:display_name => "RabbitMQ Erlang cookie",
|
|
:description => "Access cookie for clustering nodes. There is no default."
|
|
|
|
attribute "rabbitmq/virtualhosts",
|
|
:display_name => "Virtualhosts on rabbitmq instance",
|
|
:description => "List all virtualhosts that will exist",
|
|
:default => [],
|
|
:type => "array"
|
|
|
|
attribute "rabbitmq/enabled_users",
|
|
:display_name => "Users and their rights on rabbitmq instance",
|
|
:description => "Users and description of their rights",
|
|
:default => [{ :name => "guest", :password => "guest", :rights => [{:vhost => nil , :conf => ".*", :write => ".*", :read => ".*"}]}],
|
|
:type => "array"
|
|
|
|
attribute "rabbitmq/disabled_users",
|
|
:display_name => "Disabled users",
|
|
:description => "List all users that will be deactivated",
|
|
:default => [],
|
|
:type => "array"
|
|
|
|
attribute "rabbitmq/enabled_plugins",
|
|
:display_name => "Enabled plugins",
|
|
:description => "List all plugins that will be activated",
|
|
:default => [],
|
|
:type => "array"
|
|
|
|
attribute "rabbitmq/disabled_plugins",
|
|
:display_name => "Disabled plugins",
|
|
:description => "List all plugins that will be deactivated",
|
|
:default => [],
|
|
:type => "array"
|
|
|
|
attribute "rabbitmq/local_erl_networking",
|
|
:display_name => "Local Erlang networking",
|
|
:description => "Bind erlang networking to localhost"
|
|
|
|
attribute "rabbitmq/erl_networking_bind_address",
|
|
:display_name => "Erl Networking Bind Address",
|
|
:description => "Bind Rabbit and erlang networking to an address"
|