add rabbitmq role
This commit is contained in:
		
							
								
								
									
										28
									
								
								roles/rabbitmq/defaults/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								roles/rabbitmq/defaults/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
---
 | 
			
		||||
rabbitmq_package_name: rabbitmq-server
 | 
			
		||||
rabbitmq_package_state: present
 | 
			
		||||
 | 
			
		||||
rabbitmq_service_name: rabbitmq-server
 | 
			
		||||
rabbitmq_service_state: started
 | 
			
		||||
rabbitmq_service_enabled: true
 | 
			
		||||
 | 
			
		||||
rabbitmq_plugins_enabled:
 | 
			
		||||
  - rabbitmq_management
 | 
			
		||||
  - rabbitmq_prometheus
 | 
			
		||||
 | 
			
		||||
rabbitmq_etc_path: /etc/rabbitmq
 | 
			
		||||
rabbitmq_var_path: /var/lib/rabbitmq
 | 
			
		||||
rabbitmq_config_path: "{{ rabbitmq_etc_path }}/rabbitmq.conf"
 | 
			
		||||
 | 
			
		||||
rabbitmq_erlang_cookie_path: "{{ rabbitmq_var_path }}/.erlang.cookie"
 | 
			
		||||
rabbitmq_erlang_cookie_onwer: rabbitmq
 | 
			
		||||
rabbitmq_erlang_cookie_group: rabbitmq
 | 
			
		||||
rabbitmq_erlang_cookie_mode: "0400"
 | 
			
		||||
rabbitmq_erlang_cookie: ""
 | 
			
		||||
 | 
			
		||||
rabbitmq_loopback_users:
 | 
			
		||||
 | 
			
		||||
# rabbitmq_cluster_formation_peer_discovery_backend: classic_config
 | 
			
		||||
# rabbitmq_cluster_formation_classic_config_nodes: []
 | 
			
		||||
 | 
			
		||||
rabbitmq_vm_memory_high_watermark_relative:
 | 
			
		||||
							
								
								
									
										12
									
								
								roles/rabbitmq/handlers/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								roles/rabbitmq/handlers/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
---
 | 
			
		||||
- name: reload rabbitmq
 | 
			
		||||
  service:
 | 
			
		||||
    name: "{{ rabbitmq_service_name }}"
 | 
			
		||||
    state: reloaded
 | 
			
		||||
  when: rabbitmq_service_enabled
 | 
			
		||||
 | 
			
		||||
- name: restart rabbitmq
 | 
			
		||||
  service:
 | 
			
		||||
    name: "{{ rabbitmq_service_name }}"
 | 
			
		||||
    state: restarted
 | 
			
		||||
  when: rabbitmq_service_enabled
 | 
			
		||||
							
								
								
									
										26
									
								
								roles/rabbitmq/tasks/RedHat.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								roles/rabbitmq/tasks/RedHat.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
---
 | 
			
		||||
- name: add erlang yum repo
 | 
			
		||||
  yum_repository:
 | 
			
		||||
    name: rabbitmq_erlang
 | 
			
		||||
    baseurl: https://packagecloud.io/rabbitmq/erlang/el/$releasever/$basearch
 | 
			
		||||
    repo_gpgcheck: yes 
 | 
			
		||||
    gpgcheck: no
 | 
			
		||||
    enabled: yes 
 | 
			
		||||
    gpgkey: https://packagecloud.io/rabbitmq/erlang/gpgkey
 | 
			
		||||
    sslverify: yes 
 | 
			
		||||
    sslcacert: /etc/pki/tls/certs/ca-bundle.crt
 | 
			
		||||
    metadata_expire: "300"
 | 
			
		||||
    description: RabbitMQ Erlang Yum repo
 | 
			
		||||
 | 
			
		||||
- name: add rabbitmq yum repo
 | 
			
		||||
  yum_repository:
 | 
			
		||||
    name: rabbitmq_rabbitmq-server
 | 
			
		||||
    baseurl: https://packagecloud.io/rabbitmq/rabbitmq-server/el/$releasever/$basearch
 | 
			
		||||
    repo_gpgcheck: true
 | 
			
		||||
    gpgcheck: false
 | 
			
		||||
    enabled: true
 | 
			
		||||
    gpgkey: https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
 | 
			
		||||
    sslverify: true
 | 
			
		||||
    sslcacert: /etc/pki/tls/certs/ca-bundle.crt
 | 
			
		||||
    metadata_expire: "300"
 | 
			
		||||
    description: RabbitMQ Yum repo
 | 
			
		||||
							
								
								
									
										28
									
								
								roles/rabbitmq/tasks/configure.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								roles/rabbitmq/tasks/configure.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
---
 | 
			
		||||
- name: configure erlang cookie
 | 
			
		||||
  copy:
 | 
			
		||||
    dest: "{{ rabbitmq_erlang_cookie_path }}"
 | 
			
		||||
    owner: "{{ rabbitmq_erlang_cookie_onwer }}"
 | 
			
		||||
    group: "{{ rabbitmq_erlang_cookie_group }}"
 | 
			
		||||
    mode: "{{ rabbitmq_erlang_cookie_mode }}"
 | 
			
		||||
    content: "{{ rabbitmq_erlang_cookie }}"
 | 
			
		||||
  when: rabbitmq_erlang_cookie | length
 | 
			
		||||
  notify: restart rabbitmq
 | 
			
		||||
 | 
			
		||||
- name: configure
 | 
			
		||||
  template:
 | 
			
		||||
    src: rabbitmq.conf.j2
 | 
			
		||||
    dest: "{{ rabbitmq_config_path }}"
 | 
			
		||||
  notify: restart rabbitmq
 | 
			
		||||
 | 
			
		||||
- name: register enabled plugins
 | 
			
		||||
  command: rabbitmq-plugins list --enabled --minimal
 | 
			
		||||
  changed_when: false
 | 
			
		||||
  register: rabbitmq_enabled_plugins
 | 
			
		||||
 | 
			
		||||
- name: enable plugins
 | 
			
		||||
  command: "rabbitmq-plugins enable {{ item }}"
 | 
			
		||||
  loop: "{{ rabbitmq_plugins_enabled }}"
 | 
			
		||||
  when:
 | 
			
		||||
    - item not in rabbitmq_enabled_plugins.stdout_lines[1:]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										38
									
								
								roles/rabbitmq/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								roles/rabbitmq/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
---
 | 
			
		||||
- name: gather os specific variables
 | 
			
		||||
  include_vars: "{{ lookup('first_found', possible_files) }}"
 | 
			
		||||
  vars:
 | 
			
		||||
    possible_files:
 | 
			
		||||
      files:
 | 
			
		||||
        - "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml"
 | 
			
		||||
        - "{{ ansible_distribution }}.yaml"
 | 
			
		||||
        - "{{ ansible_os_family }}.yaml"
 | 
			
		||||
        - "default.yaml"
 | 
			
		||||
      paths:
 | 
			
		||||
        - vars
 | 
			
		||||
 | 
			
		||||
- name: include os specific tasks
 | 
			
		||||
  include_tasks: "{{ lookup('first_found', possible_files) }}"
 | 
			
		||||
  vars:
 | 
			
		||||
    possible_files:
 | 
			
		||||
      files:
 | 
			
		||||
        - "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml"
 | 
			
		||||
        - "{{ ansible_distribution }}.yaml"
 | 
			
		||||
        - "{{ ansible_os_family }}.yaml"
 | 
			
		||||
        - "default.yaml"
 | 
			
		||||
      paths:
 | 
			
		||||
        - tasks
 | 
			
		||||
 | 
			
		||||
- name: install
 | 
			
		||||
  package:
 | 
			
		||||
    name: "{{ rabbitmq_package_name }}"
 | 
			
		||||
    state: "{{ rabbitmq_package_state }}"
 | 
			
		||||
 | 
			
		||||
- name: configure
 | 
			
		||||
  include: configure.yaml
 | 
			
		||||
 | 
			
		||||
- name: manage service
 | 
			
		||||
  service:
 | 
			
		||||
    name: "{{ rabbitmq_service_name }}"
 | 
			
		||||
    state: "{{ rabbitmq_service_state }}"
 | 
			
		||||
    enabled: "{{ rabbitmq_service_enabled }}"
 | 
			
		||||
							
								
								
									
										16
									
								
								roles/rabbitmq/templates/rabbitmq.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								roles/rabbitmq/templates/rabbitmq.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
# {{ ansible_managed }}
 | 
			
		||||
 | 
			
		||||
{% if rabbitmq_loopback_users %}
 | 
			
		||||
loopback_users = {{ rabbitmq_loopback_users }}
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% if rabbitmq_vm_memory_high_watermark_relative %}
 | 
			
		||||
vm_memory_high_watermark.relative = {{ rabbitmq_vm_memory_high_watermark_relative }}
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% if rabbitmq_cluster_formation_peer_discovery_backend %}
 | 
			
		||||
cluster_formation.peer_discovery_backend = {{ rabbitmq_cluster_formation_peer_discovery_backend }}
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% if rabbitmq_cluster_formation_classic_config_nodes %}
 | 
			
		||||
{% for node in rabbitmq_cluster_formation_classic_config_nodes %}
 | 
			
		||||
cluster_formation.classic_config.nodes.{{ loop.index }} = {{ node }}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% endif %}
 | 
			
		||||
							
								
								
									
										0
									
								
								roles/rabbitmq/vars/default.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								roles/rabbitmq/vars/default.yaml
									
									
									
									
									
										Normal file
									
								
							
		Reference in New Issue
	
	Block a user