Skip to content

Commit b4431e1

Browse files
committed
user-management and tests
1 parent 4237c6a commit b4431e1

File tree

11 files changed

+106
-70
lines changed

11 files changed

+106
-70
lines changed

defaults/main.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
---
22
alertmanager_irc_relay_version: 0.1.0
3+
4+
alertmanager_irc_relay_system_user: "ircrelay"
5+
alertmanager_irc_relay_system_group: "{{ alertmanager_irc_relay_system_user }}"
6+
37
alertmanager_irc_relay_http_host: "0.0.0.0"
48
alertmanager_irc_relay_http_port: 8000
5-
alertmanager_irc_relay_irc_host: "chat.freenode.net"
9+
10+
alertmanager_irc_relay_irc_host: "chat.freenode.net"
611
alertmanager_irc_relay_irc_port: 6697
7-
alertmanager_irc_relay_irc_nickname: ""
8-
alertmanager_irc_relay_irc_nickname_password: ""
9-
alertmanager_irc_relay_irc_realname: ""
12+
alertmanager_irc_relay_irc_nickname: ""
13+
alertmanager_irc_relay_irc_nickname_password: ""
14+
alertmanager_irc_relay_irc_realname: ""
15+
1016
alertmanager_irc_relay_notice_once_per_alert_group: "yes"
1117
alertmanager_irc_relay_notice_template: "Alert {{ .Labels.alertname }} on {{ .Labels.instance }} is {{ .Status }}"
12-

meta/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
galaxy_info:
33
author: Goutham Veeramachaneni
44
description: Deploy alertmanager-irc-relay
5-
role_name: alertmanager-irc-relay
5+
role_name: alertmanager_irc_relay
66
license: MIT
77
company: none
88
min_ansible_version: 2.7

molecule/alternative/playbook.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,8 @@
33
any_errors_fatal: true
44
roles:
55
- ansible-alertmanager-irc-relay
6-
vars: []
6+
vars:
7+
alertmanager_irc_relay_system_user: "root"
8+
alertmanager_irc_relay_system_group: "root"
9+
alertmanager_irc_relay_http_host: "127.0.0.1"
10+
alertmanager_irc_relay_http_port: 7000

molecule/alternative/tests/test_alternative.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,12 @@
44

55
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
66
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
7+
8+
9+
def test_socket(host):
10+
sockets = [
11+
"tcp://127.0.0.1:7000"
12+
]
13+
for socket in sockets:
14+
s = host.socket(socket)
15+
assert s.is_listening

molecule/default/tests/test_default.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,46 @@
33

44
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
55
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
6+
7+
8+
def test_directories(host):
9+
dirs = [
10+
"/etc/alertmanager-irc-relay"
11+
]
12+
for dir in dirs:
13+
d = host.file(dir)
14+
assert d.is_directory
15+
assert d.exists
16+
17+
18+
def test_files(host):
19+
files = [
20+
"/etc/systemd/system/alertmanager-irc-relay.service",
21+
"/usr/local/bin/alertmanager-irc-relay"
22+
]
23+
for file in files:
24+
f = host.file(file)
25+
assert f.exists
26+
assert f.is_file
27+
28+
29+
def test_user(host):
30+
assert host.group("ircrelay").exists
31+
assert "ircrelay" in host.user("ircrelay").groups
32+
assert host.user("ircrelay").shell == "/usr/sbin/nologin"
33+
assert host.user("ircrelay").home == "/"
34+
35+
36+
def test_service(host):
37+
s = host.service("alertmanager-irc-relay")
38+
# assert s.is_enabled
39+
assert s.is_running
40+
41+
42+
def test_socket(host):
43+
sockets = [
44+
"tcp://127.0.0.1:8080"
45+
]
46+
for socket in sockets:
47+
s = host.socket(socket)
48+
assert s.is_listening

molecule/latest/molecule.yml

Lines changed: 0 additions & 42 deletions
This file was deleted.

molecule/latest/playbook.yml

Lines changed: 0 additions & 8 deletions
This file was deleted.

molecule/latest/tests/test_latest.py

Lines changed: 0 additions & 6 deletions
This file was deleted.

tasks/install.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
---
2+
- name: Create the node_exporter group
3+
group:
4+
name: "{{ alertmanager_irc_relay_system_group }}"
5+
state: present
6+
system: true
7+
when: alertmanager_irc_relay_system_group != "root"
8+
9+
- name: Create the node_exporter user
10+
user:
11+
name: "{{ alertmanager_irc_relay_system_user }}"
12+
groups: "{{ alertmanager_irc_relay_system_group }}"
13+
append: true
14+
shell: /usr/sbin/nologin
15+
system: true
16+
create_home: false
17+
home: /
18+
when: alertmanager_irc_relay_system_user != "root"
19+
220
- name: Download alertmanager-irc-relay binary to local folder
321
become: false
422
get_url:
@@ -27,7 +45,7 @@
2745
dest: "/usr/local/bin/alertmanager-irc-relay"
2846
mode: 0755
2947
notify:
30-
- restart alertmanager-irc-relay
48+
- restart alertmanager-irc-relay
3149

3250
- name: Create configuration directory
3351
file:

tasks/main.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
---
22
- include: preflight.yml
33
tags:
4-
- alertmanager-irc-relay_install
5-
- alertmanager-irc-relay_configure
6-
- alertmanager-irc-relay_run
4+
- alertmanager_irc_relay_install
5+
- alertmanager_irc_relay_configure
6+
- alertmanager_irc_relay_run
77

88
- include: install.yml
99
become: true
1010
tags:
11-
- alertmanager-irc-relay_install
11+
- alertmanager_irc_relay_install
1212

1313
- include: configure.yml
1414
become: true
1515
tags:
16-
- alertmanager-irc-relay_configure
16+
- alertmanager_irc_relay_configure
1717

1818
- name: Ensure alertmanager-irc-relay is enabled on boot
1919
become: true
@@ -23,4 +23,4 @@
2323
state: started
2424
enabled: true
2525
tags:
26-
- alertmanager-irc-relay_run
26+
- alertmanager_irc_relay_run

0 commit comments

Comments
 (0)