Skip to content

Commit 269126e

Browse files
classabbyampthe-maldridge
authored andcommitted
ansible: decommission buildmaster
1 parent b6ea470 commit 269126e

File tree

3 files changed

+46
-178
lines changed

3 files changed

+46
-178
lines changed
Lines changed: 25 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -1,150 +1,34 @@
11
---
2-
- name: Install virtualenv & deps
3-
xbps:
4-
pkg:
5-
- acl-progs
6-
- base-devel
7-
- python-devel
8-
state: present
9-
10-
- name: Create the BuildBot Master user
11-
user:
12-
name: "{{ buildmaster_user }}"
13-
state: present
14-
createhome: yes
15-
16-
- name: Create the BuildMaster Root Directory
2+
- name: Disable BuildBot Service
173
file:
18-
path: "/{{ buildmaster_rootdir }}/buildmaster"
19-
state: directory
20-
owner: "{{ buildmaster_user }}"
21-
group: "{{ buildmaster_user }}"
22-
mode: 0750
23-
24-
- name: Install Buildbot
25-
pip:
26-
name: buildbot
27-
version: "{{ buildmaster_version }}"
28-
virtualenv: "/{{ buildmaster_rootdir }}/virtual_builder"
29-
virtualenv_python: python2
30-
become_user: "{{ buildmaster_user }}"
31-
become_method: sudo
4+
path: /var/service/void-buildmaster
5+
state: absent
326

33-
- name: Make Buildbot More Terse
34-
patch:
35-
src: terse-irc.patch
36-
dest: "/{{ buildmaster_rootdir }}/virtual_builder/lib/python2.7/site-packages/buildbot/status/words.py"
37-
backup: yes
38-
39-
- name: Create BuildMaster Subdirectories
7+
- name: Remove BuildBot Service
408
file:
41-
path: "/{{ buildmaster_rootdir }}/buildmaster/{{ item }}"
42-
state: directory
43-
owner: "{{ buildmaster_user }}"
44-
group: "{{ buildmaster_user }}"
45-
mode: 0750
46-
with_items:
47-
- scripts
48-
- public_html
49-
- templates
50-
51-
- name: Copy un-inheritable Buildbot Assets
52-
copy:
53-
src: "/{{ buildmaster_rootdir }}/virtual_builder/lib/python2.7/site-packages/buildbot/status/web/files/{{ item }}"
54-
remote_src: true
55-
dest: "/{{ buildmaster_rootdir }}/buildmaster/public_html/{{ item }}"
56-
owner: "{{ buildmaster_user }}"
57-
group: "{{ buildmaster_user }}"
58-
mode: 0644
59-
with_items:
60-
- bg_gradient.jpg
61-
- default.css
62-
- favicon.ico
63-
- robots.txt
64-
65-
- name: Copy Buildbot Bootstrap Database
66-
copy:
67-
src: state.sqlite
68-
dest: "/{{ buildmaster_rootdir }}/buildmaster/state.sqlite"
69-
force: no
70-
owner: "{{ buildmaster_user }}"
71-
group: "{{ buildmaster_user }}"
72-
mode: 0644
73-
74-
- name: Install GitHub Webhook Password
75-
copy:
76-
src: secret/buildmaster_github_webhook_passwd
77-
dest: "/{{ buildmaster_rootdir }}/github-webhook.passwd"
78-
owner: "{{ buildmaster_user }}"
79-
group: "{{ buildmaster_user }}"
80-
mode: 0400
81-
no_log: True
82-
83-
- name: Configure BuildMaster
84-
template:
85-
src: master.cfg.j2
86-
dest: "/{{ buildmaster_rootdir }}/buildmaster/master.cfg"
87-
owner: "{{ buildmaster_user }}"
88-
group: "{{ buildmaster_user }}"
89-
mode: 0400
90-
no_log: True
91-
92-
- name: Install Static Scripts
93-
copy:
94-
src: "{{ item }}"
95-
dest: "/{{ buildmaster_rootdir }}/buildmaster/scripts/{{ item }}"
96-
owner: "{{ buildmaster_user }}"
97-
group: "{{ buildmaster_user }}"
98-
mode: 0640
99-
with_items:
100-
- __init__.py
101-
- ShellCommandChangeList.py
102-
103-
- name: Install Buildbot Master Configuration
104-
template:
105-
src: buildbot.tac.j2
106-
dest: "/{{ buildmaster_rootdir }}/buildmaster/buildbot.tac"
107-
owner: "{{ buildmaster_user }}"
108-
group: "{{ buildmaster_user }}"
109-
mode: 0644
110-
111-
- include_vars: secret/buildslave_credentials.yml
112-
- include_vars: secret/buildmaster_users.yml
113-
114-
- name: Configure BuildSlave References
115-
template:
116-
src: user_settings.py.j2
117-
dest: "/{{ buildmaster_rootdir }}/buildmaster/scripts/user_settings.py"
118-
owner: "{{ buildmaster_user }}"
119-
group: "{{ buildmaster_user }}"
120-
mode: 0400
9+
path: /etc/sv/void-buildmaster
10+
state: absent
12111

122-
- name: Install BuildBot Service (1/2)
12+
- name: Remove the BuildMaster Root Directory
12313
file:
124-
path: /etc/sv/void-buildmaster
125-
state: directory
126-
owner: root
127-
group: root
128-
mode: 0755
14+
path: "/{{ buildmaster_rootdir }}"
15+
state: absent
12916

130-
- name: Install BuildBot Service (2/2)
131-
template:
132-
src: run.j2
133-
dest: /etc/sv/void-buildmaster/run
134-
owner: root
135-
group: root
136-
mode: 0755
17+
- name: Remove the BuildBot Master user
18+
user:
19+
name: "{{ buildmaster_user }}"
20+
state: absent
21+
remove: true
13722

138-
- name: Enable BuildBot Service
139-
file:
140-
src: /etc/sv/void-buildmaster
141-
dest: /var/service/void-buildmaster
142-
state: link
23+
- name: Remove deps
24+
xbps:
25+
pkg:
26+
- acl-progs
27+
- base-devel
28+
- python-devel
29+
state: absent
14330

144-
- name: Install sudo policy
145-
template:
146-
src: buildmaster.sudoers
147-
dest: /etc/sudoers.d/buildmaster
148-
owner: root
149-
group: root
150-
mode: 0640
31+
- name: Remove sudo policy
32+
file:
33+
path: /etc/sudoers.d/buildmaster
34+
state: absent
Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,19 @@
11
---
2-
- name: Create the void-repo group
2+
- name: Remove the void-repo group
33
group:
44
name: void-repo
5-
state: present
5+
state: absent
66

7-
- name: Install the buildmaster firewall rules
8-
copy:
9-
src: buildmaster.rules
10-
dest: /etc/iptables.d
11-
owner: root
12-
group: root
13-
mode: 0640
7+
- name: Remove the buildmaster firewall rules
8+
file:
9+
path: /etc/iptables.d/buildmaster.rules
10+
state: absent
1411
notify:
1512
- iptables
1613

1714
- name: Install the buildmaster firewall rules (v6)
18-
copy:
19-
src: buildmaster.6rules
20-
dest: /etc/ip6tables.d
21-
owner: root
22-
group: root
23-
mode: 0640
15+
file:
16+
path: /etc/ip6tables.d/buildmaster.6rules
17+
state: absent
2418
notify:
2519
- iptables
Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,15 @@
11
---
2-
- name: Configure webserver
3-
include_role:
4-
name: nginx
5-
tasks_from: base-site
6-
vars:
7-
- site:
8-
name: buildmaster
9-
static_root: false
10-
urls:
11-
- build.voidlinux.org
12-
tls:
13-
certificate: "{{ buildmaster_ssl_cert_path | default('/dev/null') }}"
14-
key: "{{ buildmaster_ssl_certkey_path | default('/dev/null') }}"
15-
stapling: yes
16-
17-
- name: Install root location block
18-
copy:
19-
src: buildmaster_root.conf
20-
dest: /etc/nginx/locations.d/build.voidlinux.org/
21-
owner: root
22-
group: root
23-
mode: 0644
2+
- name: Unconfigure nginx
3+
file:
4+
path: "{{ item }}"
5+
state: absent
6+
with_items:
7+
- /var/lib/acme/live/build.voidlinux.org
8+
- /etc/nginx/locations.d/build.voidlinux.org
9+
- /etc/nginx/sites-available/buildmaster.conf
10+
- /etc/nginx/sites-enabled/buildmaster.conf
11+
- /etc/iptables.d/nginx-resolvers-buildmaster.rules
12+
- /etc/ip6tables.d/nginx-resolvers-buildmaster.6rules
2413
notify:
2514
- nginx
15+
- iptables

0 commit comments

Comments
 (0)