-
Notifications
You must be signed in to change notification settings - Fork 1
/
tasks.yml
104 lines (91 loc) · 2.95 KB
/
tasks.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
- hosts: rabbit
user: root
vars:
- ansible_python_interpreter: /usr/bin/python2
- rabbit_version: 3.3.0
- rabbit_tarball: rabbitmq-server-generic-unix-$rabbit_version.tar.gz
- rabbit_download: http://www.rabbitmq.com/releases/rabbitmq-server/v$rabbit_version/$rabbit_tarball
- rabbit_home: /opt/rabbitmq_server-$rabbit_version
- service_definition: $rabbit_home/rabbitmq.service
- service_target: /usr/lib/systemd/system/rabbitmq.service
- rabbit_service: /usr/lib/systemd/system/rabbitmq.service
handlers:
- name: chown rabbit
action: shell chown -R rabbit {{ rabbit_home }}
tasks:
- name: Set the hostname
action: shell hostnamectl set-hostname {{ inventory_hostname }}
tags:
- dns
- name: Set up DNS
action: template src=hosts.j2 dest=/etc/hosts
tags:
- dns
- name: Get some basic packages onto the box
action: pacman name={{ item }} state=installed update_cache=yes
with_items:
- ntp
- gnu-netcat
- nginx
- lsof
- ack
- syslog-ng
- netcat
- dnsutils
- erlang-nox
tags:
- packages
- name: Ensure users exist
action: user name={{ item }} createhome=yes system=yes group=nobody
with_items:
- rabbit
tags:
- users
- rabbit
- name: Download Rabbit
get_url: url={{ rabbit_download }} dest=/opt mode=0440
tags:
- rabbit
- name: Unpack Rabbit
action: shell chdir=/opt tar xzvf {{ rabbit_tarball }} creates={{ rabbit_home }}
notify:
- chown rabbit
tags:
- unpack
- rabbit
- name: Template out generic service configuration files for Rabbit
action: template src={{ item.src }} dest={{ item.dest }} owner=rabbit
with_items:
- { src: rabbitmq.service.j2, dest: $rabbit_service }
- { src: enabled_plugins.j2, dest: $rabbit_home/etc/rabbitmq/enabled_plugins }
- { src: nginx.conf.j2, dest: /etc/nginx/nginx.conf }
tags:
- config
- rabbit
- name: Template out cluster specific configuration files for Rabbit
action: template src={{ item.src }} dest={{ item.dest }} owner=rabbit
when: clustered
with_items:
- { src: erlang.cookie.j2, dest: /home/rabbit/.erlang.cookie }
- { src: rabbitmq.config.j2, dest: $rabbit_home/etc/rabbitmq/rabbitmq.config }
tags:
- config
- rabbit
- cluster
- name: Ensure the Rabbit dirs exist
action: file dest={{ rabbit_home }}{{ item }} state=directory owner=rabbit
with_items:
- /var/lib/rabbitmq/mnesia
- /var/log/rabbitmq
tags:
- rabbit
- dirs
- name: Enable Rabbit service
action: shell systemctl enable rabbitmq
- name: Enable nginx service
action: shell systemctl {{ item }} nginx
with_items:
- enable
- restart
tags:
- nginx