aboutsummaryrefslogtreecommitdiffhomepage
path: root/Vagrant/roles/ansible-rabbitmq/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'Vagrant/roles/ansible-rabbitmq/README.md')
-rw-r--r--Vagrant/roles/ansible-rabbitmq/README.md118
1 files changed, 118 insertions, 0 deletions
diff --git a/Vagrant/roles/ansible-rabbitmq/README.md b/Vagrant/roles/ansible-rabbitmq/README.md
new file mode 100644
index 0000000..03cd1aa
--- /dev/null
+++ b/Vagrant/roles/ansible-rabbitmq/README.md
@@ -0,0 +1,118 @@
1Role Name
2=========
3
4Installs rabbitmq https://www.rabbitmq.com/ (Configurable...HA and Clustering ready)
5
6Requirements
7------------
8
9Ensure hostnames are resolvable prior to clustering...either update /etc/hosts or ensure DNS is working.
10
11Vagrant
12-------
13
14Spin up a 3 node HA Cluster for testing...
15Install Ansible role on your host:
16````
17sudo ansible-galaxy install -r requirements.yml -f
18````
19Now spin up your environment...
20````
21vagrant up
22````
23When you are done testing, tear it all down...
24````
25./cleanup.sh
26````
27
28Role Variables
29--------------
30
31````
32---
33# defaults file for ansible-rabbitmq
34rabbitmq_config_ha: false #defines if rabbitmq ha should be configured...define here or in group_vars/group
35rabbitmq_enable_clustering: false #defines if setting up a rabbitmq cluster...define here or in group_vars/group
36rabbitmq_erlang_cookie: 'LSKNKBELKPSTDBBCHETL' #define erlang cookie for cluster...define here or in group_vars/group
37rabbitmq_erlang_cookie_file: '/var/lib/rabbitmq/.erlang.cookie'
38rabbitmq_config:
39 - queue_name: logstash
40 durable: true
41 exchange_name: logstash
42 type: direct
43 routing_key: logstash
44 tags: 'ha-mode=all,ha-sync-mode=automatic'
45rabbitmq_debian_repo: 'deb http://www.rabbitmq.com/debian/ testing main'
46rabbitmq_debian_repo_key: 'http://www.rabbitmq.com/rabbitmq-signing-key-public.asc'
47rabbitmq_master: [] #defines the inventory host that should be considered master...define here or in group_vars/group
48rabbitmq_redhat_repo_key: 'https://www.rabbitmq.com/rabbitmq-signing-key-public.asc'
49rabbitmq_redhat_package: 'rabbitmq-server-{{ rabbitmq_redhat_version }}-1.noarch.rpm'
50rabbitmq_redhat_url: 'http://www.rabbitmq.com/releases/rabbitmq-server/v{{ rabbitmq_redhat_version }}'
51rabbitmq_redhat_version: '3.6.1'
52rabbitmq_users: #define admin user to create in order to login to WebUI
53 - name: rabbitmqadmin
54 password: rabbitmqadmin
55 vhost: /
56 configure_priv: '.*'
57 read_priv: '.*'
58 write_priv: '.*'
59 tags: 'administrator' #define comma separated list of tags to assign to user....management,policymaker,monitoring,administrator...required for management plugin. https://www.rabbitmq.com/management.html
60````
61
62example...
63group_vars/rabbitmq-cluster-nodes
64````
65---
66rabbitmq_enable_clustering: true
67rabbitmq_config_ha: false
68rabbitmq_master: ans-test-1
69````
70
71Dependencies
72------------
73
74None
75
76Example Playbook
77----------------
78
79````
80---
81- hosts: all
82 become: true
83 vars:
84 - pri_domain_name: 'test.vagrant.local'
85 roles:
86 tasks:
87 - name: updating /etc/hosts
88 lineinfile:
89 dest: /etc/hosts
90 regexp: "^{{ hostvars[item].ansible_ssh_host }} {{ item }} {{ item }}.{{ pri_domain_name }}"
91 line: "{{ hostvars[item].ansible_ssh_host }} {{ item }} {{ item }}.{{ pri_domain_name }}"
92 state: present
93 with_items: groups['all']
94
95- hosts: all
96 become: true
97 vars:
98 - rabbitmq_config_ha: true
99 - rabbitmq_enable_clustering: true
100 - pri_domain_name: 'test.vagrant.local'
101 - rabbitmq_master: 'node0'
102 roles:
103 - role: ansible-rabbitmq
104 tasks:
105````
106
107License
108-------
109
110BSD
111
112Author Information
113------------------
114
115Larry Smith Jr.
116- @mrlesmithjr
117- http://everythingshouldbevirtual.com
118- mrlesmithjr [at] gmail.com