AMQ Streams Install role ==================== A role to automate the installation of Zookeeper and AMQ Streams brokers. Requirements ------------ Requirements on the target system are ensured by the role. Role Defaults ------------- | Variable | Description | Default | |:---------|:------------|:--------| |`amq_streams_install_product_version`|Version of the product used|`3.3.2`| |`amq_streams_install_scala_version`|Scala version used to run amq streams|`2.13`| |`amq_streams_install_version`|Scala version followed by product version|`"{{ amq_streams_install_scala_version }}-{{ amq_streams_install_product_version }}"`| |`amq_streams_install_archive_file`|Downloaded archive filename|`"kafka_{{ amq_streams_install_version }}.tgz"`| |`amq_streams_install_download_url`|Downlaod URL|`"https://downloads.apache.org/kafka/{{ amq_streams_install_product_version }}/kafka_{{ amq_streams_install_version }}.tgz"`| |`amq_streams_install_download_dir`|Path to the download folder|`/opt`| |`amq_streams_install_install_dir`|Path to the install dir for the product|`/opt`| |`amq_streams_install_path_to_archive_file`|Full path to the archive file|`"{{ amq_streams_install_download_dir }}/{{ amq_streams_install_archive_file }}"`| |`amq_streams_install_prereqs_dependencies:`|List of system dependencies required|` - tar`| |`amq_streams_install_openjdk_version`|Version of the default OpenJDK to install to run AMQ streams|`17`| |`amq_streams_install_home`|AMQ Streams home directory|`"{{ amq_streams_install_install_dir }}/kafka_{{ amq_streams_install_version }}/"`| |`amq_streams_install_create_topic_script`|Path to the kafka-topics.sh script|`"{{ amq_streams_install_home }}/bin/kafka-topics.sh"`| |`amq_streams_install_zookeeper_enabled`|Ensure Zookeeper is installed on target|`True`| |`amq_streams_install_zookeeper_config`|Path to Zookeeper properties file|`/etc/amq_streams_zookeeper.properties`| |`amq_streams_install_zookeeper_config_template`|Path to template for Zookeeper properties|`templates/zookeeper.properties.j2`| |`amq_streams_install_zookeeper_server_start`|Path to Zookeeper server start script|`"{{ amq_streams_install_home }}/bin/zookeeper-server-start.sh"`| |`amq_streams_install_zookeeper_user`|System user running Zookeeper|`'amq_streams_zookeeper'`| |`amq_streams_install_zookeeper_group`|System group for Zookeeper|`'amq_streams'`| |`amq_streams_install_zookeeper_service_name`|Systemd service name for Zookeeper|`'amq_streams_zookeeper'`| |`amq_streams_install_zookeeper_service_config_template`|Template for systemd service config for Zookeeper|`'templates/service.conf.j2'`| |`amq_streams_install_zookeeper_port`|Zookeeper port|`2181`| |`amq_streams_install_zookeeper_host`|Zookeeper host|`'localhost'`| |`amq_streams_install_zookeeper_data_dir`|Zookeeper data directory|`/tmp/zookeeper`| |`amq_streams_install_zookeeper_logs_dir`|Zookeeper logs directory|`"/var/log/{{ amq_streams_install_zookeeper_service_name }}/"`| |`amq_streams_install_zookeeper_max_client_cnxns`|Zookeeper max client connection|`0`| |`amq_streams_install_zookeeper_admin_enable_server`|Zookeeper server admin enable|`'false'`| |`amq_streams_install_broker_enabled`|Broker setup enabled|`True`| |`amq_streams_install_broker_server_start`|Path to the broker server start script|`"{{ amq_streams_install_home }}/bin/kafka-server-start.sh"`| |`amq_streams_install_broker_config`|Path to broker properties file|`"/etc/amq_streams_broker.properties"`| |`amq_streams_install_broker_service_name`|Systemd service name for AMQ broker|`'amq_streams_broker'`| |`amq_streams_install_broker_user`|System user running the AMQ Streams broker|`'amq_streams_broker'`| |`amq_streams_install_broker_group`|System group for user running the AMQ Streams broker|`'amq_streams'`| |`amq_streams_install_broker_service_config_template`|Path to template file for broker.properties|`'templates/broker.conf.j2'`| |`amq_streams_install_broker_service_config_file`|Path to the broker config file|`'/etc/broker.conf'`| |`amq_streams_install_broker_logs_dir`|Path to AMQ Streams logs directory|`"/var/logs/{{ amq_streams_install_broker_service_name }}/"`| |`amq_streams_install_broker_num_network_threads`|Broker number of network threads|`3`| |`amq_streams_install_broker_num_io_threads`|Broker number of I/O threads|`8`| |`amq_streams_install_broker_buffer_send_bytes`|Broker buffer send bytes size|`102400`| |`amq_streams_install_broker_buffer_bytes`|Broker buffer bytes size|`102400`| |`amq_streams_install_broker_socket_request_max_bytes`|Broker socket request max bytes|`104857600`| |`amq_streams_install_broker_num_partitions`|Broker number of partitions|`1`| |`amq_streams_install_broker_num_recovery_threads_per_data_dir`|Nimber of recovery threads by data directory|`1`| |`amq_streams_install_broker_offsets_topic_replication_factor`|Broker offset topic replication factor|`1`| |`amq_streams_install_broker_transaction_state_log_replication_factor`|State log replication factor|`1`| |`amq_streams_install_broker_transaction_state_log_min_isr`|Min isr value|`1`| |`amq_streams_install_broker_log_retention_hours`|Log retention hours|`168`| |`amq_streams_install_broker_log_retention_check_interval_ms`|Log retention interval checks in ms|`300000`| |`amq_streams_install_broker_zookeeper_connection_timeout_ms`|Zookeeper connection timeout in ms|`18000`| |`amq_streams_install_broker_group_initial_rebalance_delay_ms`|Broker group intial rebalance delay in ms|`0`| |`amq_streams_install_broker_properties_template`|Path to the Broker properties templates|`templates/server.properties.j2`| |`amq_streams_install_systemd_home`|Path to the systemd config file directory|`'/usr/lib/systemd/system'`| |`amq_streams_install_systemd_service_config_file_template`|Template used for defining the systemd service|`'templates/service_systemd.j2'`| |`amq_streams_install_bootstrap_server_host`|AMQ Streams broker host|`localhost`| |`amq_streams_install_bootstrap_server_port`|AMQ Streams broker port|`9092`| Role Variables -------------- * No required variables ## Dependencies ## Example Playbooks ### Default Install Installs the default version of Wildfly to the default location with the default user. ``` --- - name: "Automate AMQ Streams install" hosts: all vars: topic_name: myTopic roles: - role: amq_streams_install tasks: - name: "Ensures topic {{ topic_name }} exist." ansible.builtin.include_role: name: amq_streams_install tasks_from: topic/create.yml - name: "Describe created topic." ansible.builtin.include_role: name: amq_streams_install tasks_from: topic/describe.yml ``` ## License GPL2 ## Author Information * [Romain Pelisse](https://github.com/rpelisse)