Skip to content

Latest commit

 

History

History
723 lines (421 loc) · 20.4 KB

REFERENCE.md

File metadata and controls

723 lines (421 loc) · 20.4 KB

Reference

Table of Contents

Classes

Public Classes

  • activemq: Install and configure ActiveMQ Artemis

Private Classes

  • activemq::install: Install ActiveMQ distribution archive
  • activemq::service: Setup ActiveMQ multi-instance system service

Defined types

Classes

activemq

Install and configure ActiveMQ Artemis

Parameters

The following parameters are available in the activemq class:

admin_password

Data type: String

Specifies the password to use for standalone instances.

admin_user

Data type: String

Specifies the name of the user to use for standalone instances.

bootstrap_template

Data type: String

The template used to generate bootstrap.xml.

broker_template

Data type: String

The template used to generate broker.xml.

checksum

Data type: Optional[String]

Specifies the checksum for the distribution archive (bin.tar.gz), which will be verified after downloading the file and before starting the installation.

Default value: undef

checksum_type

Data type: Optional[String]

Specifies the type of the checksum. Defaults to sha512.

Default value: undef

cluster

Data type: Boolean

Whether to setup a cluster or a standalone instance.

cluster_name

Data type: Optional[String]

Specifies the name to use for the cluster.

Default value: undef

cluster_password

Data type: String

Specifies the password to use for clustered instances.

cluster_user

Data type: String

Specifies the name of the user to use for clustered instances.

cluster_topology

Data type: Hash[String[1], Hash]

The topology of the cluster, which should contain ALL instances across the whole cluster (not only local instances), their settings and relationships.

distribution_name

Data type: String

Specifies the name of the distribution, which is usually used to build the actual download URL.

download_url

Data type: String

Specifies the download location. It should contain a %s string which is automatically replaced with the actual filename during installation. The latter makes it easier to use mirror redirection URLs.

gid

Data type: Optional[Integer]

Specifies an optional GID that should be used when creating the group.

Default value: undef

group

Data type: String

Specifies the name of the group to use for the service/instance.

hawtio_role

Data type: String

Access to the JMX web console is only allow to users with this role.

install_base

Data type: Stdlib::Absolutepath

Specifies the installation directory. This directory must already exist. A subdirectory for every version is automatically created.

instance_defaults

Data type: Hash

The default parameters for all instances. They are merged with all instance-specific parameters. This makes it obsolete to specify ALL required parameters for every instance, but only parameters that differ from these defaults.

instances

Data type: Hash[String[1], Hash]

A list of instances that should be created.

instances_base

Data type: Stdlib::Absolutepath

Specifies the directory where broker instances should be installed. This directory must already exist. A subdirectory for every instance is automatically created.

java_args

Data type: Hash

Options for the JVM. Be careful to not override required default options. The syntax may look a bit off, but this way it's possible to replace certain values or to remove an option by adding the value 'DISABLED'.

java_xms

Data type: String

The initial Java heap size.

java_xmx

Data type: String

The maximum Java heap size.

jolokia_access_template

Data type: String

The template used to generate jolokia-access.xml.

log4j_template

Data type: String

The template used to generate log4j2.properties (on version 2.27.0 and later).

logging_template

Data type: String

The template used to generate logging.properties (on versions before 2.27.0).

login_template

Data type: String

The template used to generate login.config.

manage_account

Data type: Boolean

Whether or not to create the user and group.

manage_instances_base

Data type: Boolean

Whether or not to create the directory specified in $instances_base.

manage_roles

Data type: Boolean

Whether or not to manage ActiveMQ roles.

manage_users

Data type: Boolean

Whether or not to manage ActiveMQ users.

management_template

Data type: String

The template used to generate management.xml.

port

Data type: Integer

Specifies the port to use for the artemis connector and will also be used as default port for the acceptor.

proxy_server

Data type: Optional[String]

Specify a proxy server, with port number if needed. ie: https://example.com:8080

Default value: undef

proxy_type

Data type: Optional[String]

Specify the proxy_type: proxy server type (none|http|https|ftp)

Default value: undef

roles_properties_template

Data type: String

The template used to generate roles.properties.

server_discovery

Data type: Enum['dynamic','static']

Controls how servers can propagate their connection details.

service_enable

Data type: Boolean

Specifies whether the service should be enabled.

service_ensure

Data type: Enum['running','stopped']

Specifies the desired state for the service.

service_file

Data type: Stdlib::Absolutepath

Specifies the filename of the service file.

service_name

Data type: String

Controls the name of the system service. Must NOT be changed while instances are running.

service_template

Data type: String

The template used to generate the service definition.

symlink_name

Data type: String

Controls the name of a version-independent symlink. It will always point to the release specified by $version.

uid

Data type: Optional[Integer]

Specifies an optional UID that should be used when creating the user.

Default value: undef

user

Data type: String

Specifies the name of the user to use for the service/instance.

users_properties_template

Data type: String

The template used to generate users.properties.

version

Data type: String

Specifies the version of ActiveMQ (Artemis) to install and use. No default value is provided on purpose, to avoid prevent new users from using a outdated version and to avoid unexpected updates by later changing the default value.

Defined types

activemq::instance

Create an instance of ActiveMQ Artemis broker

Parameters

The following parameters are available in the activemq::instance defined type:

acceptors

Data type: Hash[String[1], Hash]

ActiveMQ Artemis acceptors.

acceptor_settings

Data type: Array

Shared settings that should be used for ALL acceptors.

address_settings

Data type: Hash[String[1], Hash]

A hash containing global address settings. This is especially useful for wildcard/catch all matches.

addresses

Data type: Hash[String[1], Hash]

A hash containing configuration for addresses (messaging endpoints), queues and routing types. Note: Setting adresses and queues to enable: false will remove them from the configuration file, but they will still be available in Artemis. In order to completely remove them, the config-delete-* options may be set to FORCE.

allow_failback

Data type: Boolean

Should stop backup on live restart.

allow_direct_connections_only

Data type: Optional[Boolean]

When using static for server_discovery only make connections to the defined connectors and not any other broker in the cluser.

Default value: true

bind

Data type: String

Configure which IP address to listen on. Should be either a FQDN or an IP address.

broadcast_groups

Data type: Array

ActiveMQ Artemis broadcast groups.

broker_plugins

Data type: Hash[String[1], Hash]

A hash containing a list of broker plugins and their configuration. Each plugin can be enabled by setting enable to true.

check_for_live_server

Data type: Boolean

Used for a live server to verify if there are other nodes with the same ID on the topology.

connectors

Data type: Hash[String[1], Hash]

ActiveMQ Artemis connectors.

discovery_groups

Data type: Array

ActiveMQ Artemis discovery groups.

failover_on_shutdown

Data type: Boolean

This will cause a HA failover to occur on normal server shutdown.

global_max_size_mb

Data type: Optional[Integer]

The amount in Mb before all addresses are considered full.

Default value: undef

group

Data type: Optional[String]

The group for ActiveMQ Artemis.

Default value: undef

ha_policy

Data type: Optional[Enum['live-only','replication','shared-storage']]

ActiveMQ Artemis HA policy.

initial_replication_sync_timeout

Data type: Integer

Timeout for initial replication to complete.

java_args

Data type: Hash

Options for the JVM. Be careful to not override required default options. The syntax may look a bit off, but this way it's possible to replace certain values or to remove an option by adding the value 'DISABLED'.

Default value: $activemq::java_args

java_xms

Data type: String

The initial Java heap size.

Default value: $activemq::java_xms

java_xmx

Data type: String

The maximum Java heap size.

Default value: $activemq::java_xmx

jmx

Data type: Hash

A hash containing settings for the Jolokia JMX console.

journal_buffer_timeout

Data type: Integer

The flush timeout for the journal buffer.

journal_datasync

Data type: Boolean

Whether ActiveMQ Artemis will use msync/fsync on journal operations.

journal_max_io

Data type: Integer

The maximum number of write requests that can be in the ASYNCIO queue at any one time.

journal_type

Data type: Enum['asyncio','mapped','nio']

The type of journal to use.

log_level

Data type: Hash

The log levels to use for the various configured loggers (on versions before 2.27.0).

log4j_level

Data type: Hash

The log levels to use for the various configured loggers (on version 2.27.0 and later).

management_notification_address

Data type: String

The address to receive management notifications.

max_disk_usage

Data type: Integer

The max percentage of data to use from disks. The broker will block while the disk is full. Disable by setting -1.

max_hops

Data type: Integer

Maximum number of hops cluster topology is propagated.

message_load_balancing

Data type: Enum['off','strict','on_demand']

Specifies how messages should be load balanced.

persistence

Data type: Boolean

Whether the server will use the file based journal for persistence.

port

Data type: Integer

The port to use.

role

Data type: Enum['master','slave']

The replication role.

security

Data type: Hash

A hash containing the security configuration, includes users and roles.

service_enable

Data type: Optional[Boolean]

Specifies whether the service should be enabled for this instance.

Default value: undef

service_ensure

Data type: Optional[Enum['running','stopped']]

Specifies the desired service state for this instance.

Default value: undef

target_host

Data type: Optional[String]

Specifies the target host where this instance should be installed. The value will be matched against $facts['networking']['fqdn']. This is especially useful for cluster configurations.

Default value: undef

vote_on_replication_failure

Data type: Boolean

Configuration for classic replication (not needed for Pluggable Quorum Vote Replication).

web_bind

Data type: String

The host name to use for embedded web server.

web_port

Data type: Integer

The port to use for embedded web server.