|
4 | 4 | gather_facts: true |
5 | 5 | tasks: |
6 | 6 | - name: Include test data |
7 | | - include_vars: vars.yml |
| 7 | + ansible.builtin.include_vars: vars.yml |
8 | 8 |
|
9 | 9 | # Confirm SSH keys |
10 | 10 | - name: Get SSH authorized_keys file |
11 | | - shell: "cat /root/.ssh/authorized_keys" |
| 11 | + ansible.builtin.command: |
| 12 | + cmd: "cat /root/.ssh/authorized_keys" |
12 | 13 | register: authorized_keys_output |
| 14 | + changed_when: false |
13 | 15 |
|
14 | 16 | - name: Verify SSH keys are installed |
15 | | - assert: |
| 17 | + ansible.builtin.assert: |
16 | 18 | that: |
17 | 19 | - "'foo' in authorized_keys_output.stdout" |
18 | 20 | - "'bar' in authorized_keys_output.stdout" |
19 | 21 |
|
20 | 22 | # Confirm iptables rules |
21 | 23 | - name: List iptables rules |
22 | | - shell: "iptables-save" |
| 24 | + ansible.builtin.command: |
| 25 | + cmd: "iptables-save" |
23 | 26 | register: iptables_save_output |
| 27 | + changed_when: false |
24 | 28 |
|
25 | 29 | - name: Verify iptables networks are configured correctly |
26 | | - assert: |
| 30 | + ansible.builtin.assert: |
27 | 31 | that: |
28 | 32 | - "'{{ item }} -j ACCEPT' in iptables_save_output.stdout" |
29 | 33 | loop: "{{ cybera_networks_ipv4_trusted_global | zip(cybera_networks_ipv4_trusted) | flatten }}" |
30 | 34 |
|
31 | 35 | - name: Verify iptables ports configured correctly |
32 | | - assert: |
| 36 | + ansible.builtin.assert: |
33 | 37 | that: |
34 | 38 | - "'--dport {{ (item|dict2items).0.value }} -j ACCEPT' in iptables_save_output.stdout" |
35 | 39 | loop: "{{ cybera_open_ports_ipv4 }}" |
36 | 40 |
|
37 | 41 | # Confirm package installation |
38 | 42 | - name: List curl package |
39 | | - shell: which curl |
| 43 | + ansible.builtin.command: |
| 44 | + cmd: which curl |
40 | 45 | register: curl_output |
| 46 | + changed_when: false |
41 | 47 |
|
42 | 48 | - name: Verify curl is correctly installed |
43 | | - assert: |
| 49 | + ansible.builtin.assert: |
44 | 50 | that: |
45 | 51 | - "'curl' in curl_output.stdout" |
46 | 52 |
|
47 | 53 | # Confirm acng |
48 | 54 | - name: Get acng file contents |
49 | | - shell: "cat /etc/apt/apt.conf.d/01apt-cacher-ng-proxy" |
| 55 | + ansible.builtin.command: |
| 56 | + cmd: "cat /etc/apt/apt.conf.d/01apt-cacher-ng-proxy" |
50 | 57 | register: acng_output |
| 58 | + changed_when: false |
51 | 59 | when: ansible_os_family == "Debian" |
52 | 60 |
|
53 | 61 | - name: Verify acng is configured correctly |
54 | | - assert: |
| 62 | + ansible.builtin.assert: |
55 | 63 | that: |
56 | 64 | - "'Acquire::http { Proxy \"http://acng-yyc.cloud.cybera.ca:3142\"; };' in acng_output.stdout" |
57 | 65 | when: ansible_os_family == "Debian" |
58 | 66 |
|
59 | 67 | # Confirm dotfiles |
60 | 68 | - name: Check if tmux.conf.mcjones exists |
61 | | - shell: "ls -l /root/.tmux.conf.mcjones" |
| 69 | + ansible.builtin.command: |
| 70 | + cmd: "ls -l /root/.tmux.conf.mcjones" |
62 | 71 | register: dotfiles_output |
| 72 | + changed_when: false |
63 | 73 |
|
64 | 74 | - name: Verify dotfiles was setup |
65 | | - assert: |
| 75 | + ansible.builtin.assert: |
66 | 76 | that: |
67 | 77 | - "'cybera-dotfiles' in dotfiles_output.stdout" |
68 | 78 |
|
69 | 79 | # Confirm IPv6 sysctl settings |
70 | 80 | - name: Get sysctl.conf contents |
71 | | - shell: "sysctl -a" |
| 81 | + ansible.builtin.command: |
| 82 | + cmd: "sysctl -a" |
72 | 83 | register: sysctl_output |
| 84 | + changed_when: false |
73 | 85 |
|
74 | 86 | - name: Verify IPv6 sysctl settings |
75 | | - assert: |
| 87 | + ansible.builtin.assert: |
76 | 88 | that: |
77 | 89 | - "'net.ipv6.conf.all.use_tempaddr = 0' in sysctl_output.stdout" |
78 | 90 | - "'net.ipv6.conf.all.accept_ra = 1' in sysctl_output.stdout" |
79 | 91 |
|
80 | 92 | # Verify Ubuntu quirks |
81 | 93 | - name: Check for removed files |
82 | | - stat: |
| 94 | + ansible.builtin.stat: |
83 | 95 | path: "{{ item }}" |
84 | 96 | loop: |
85 | 97 | - "/etc/cron.weekly/update-notifier-common" |
|
90 | 102 | register: removed_files_stat |
91 | 103 |
|
92 | 104 | - name: Verify files are removed |
93 | | - assert: |
| 105 | + ansible.builtin.assert: |
94 | 106 | that: |
95 | 107 | - "'{{ item.stat.exists }}' == 'False'" |
96 | 108 | loop: "{{ removed_files_stat.results }}" |
97 | 109 |
|
98 | 110 | # Verify users were removed |
99 | 111 | - name: Get contents of /etc/group |
100 | | - shell: "cat /etc/group" |
| 112 | + ansible.builtin.command: |
| 113 | + cmd: "cat /etc/group" |
101 | 114 | register: etc_group_output |
| 115 | + changed_when: false |
102 | 116 |
|
103 | 117 | - name: Get contents of /etc/passwd |
104 | | - shell: "cat /etc/passwd" |
| 118 | + ansible.builtin.command: |
| 119 | + cmd: "cat /etc/passwd" |
105 | 120 | register: etc_passwd_output |
| 121 | + changed_when: false |
106 | 122 |
|
107 | 123 | - name: Verify jdoe user does not exist |
108 | | - assert: |
| 124 | + ansible.builtin.assert: |
109 | 125 | that: |
110 | 126 | - "'jdoe' not in etc_group_output.stdout" |
111 | 127 | - "'jdoe' not in etc_passwd_output.stdout" |
112 | 128 |
|
113 | 129 | # Verify users exist |
114 | 130 | - name: Check for foo home directory |
115 | | - stat: |
| 131 | + ansible.builtin.stat: |
116 | 132 | path: "/home/foo" |
117 | 133 | register: user_foo_stats |
118 | 134 |
|
119 | 135 | - name: Verify foo user exist |
120 | | - assert: |
| 136 | + ansible.builtin.assert: |
121 | 137 | that: |
122 | 138 | - "'{{ user_foo_stats.stat.exists }}' == 'True'" |
123 | 139 |
|
124 | 140 | - name: Get user's groups |
125 | | - shell: "groups foo" |
| 141 | + ansible.builtin.command: |
| 142 | + cmd: "groups foo" |
126 | 143 | register: user_foo_groups |
| 144 | + changed_when: false |
127 | 145 |
|
128 | 146 | - name: Verify user's groups |
129 | | - assert: |
| 147 | + ansible.builtin.assert: |
130 | 148 | that: |
131 | 149 | - "'sudo' in user_foo_groups.stdout" |
132 | 150 |
|
133 | 151 | - name: Check for bar home directory |
134 | | - stat: |
| 152 | + ansible.builtin.stat: |
135 | 153 | path: "/opt/bar" |
136 | 154 | register: user_bar_stats |
137 | 155 |
|
138 | 156 | - name: Verify bar user exist |
139 | | - assert: |
| 157 | + ansible.builtin.assert: |
140 | 158 | that: |
141 | 159 | - "'{{ user_bar_stats.stat.exists }}' == 'True'" |
142 | 160 |
|
143 | 161 | - name: Get sudo file |
144 | | - shell: "cat /etc/sudoers.d/foo" |
| 162 | + ansible.builtin.command: |
| 163 | + cmd: "cat /etc/sudoers.d/foo" |
145 | 164 | register: sudoers_file |
| 165 | + changed_when: false |
146 | 166 |
|
147 | 167 | - name: Verify sudo access |
148 | | - assert: |
| 168 | + ansible.builtin.assert: |
149 | 169 | that: |
150 | 170 | - "'foo ALL' in sudoers_file.stdout" |
151 | 171 |
|
152 | 172 | - name: Capture rsyslog client.conf file |
153 | | - shell: "cat /etc/rsyslog.d/client.conf" |
| 173 | + ansible.builtin.command: |
| 174 | + cmd: "cat /etc/rsyslog.d/client.conf" |
154 | 175 | register: rsyslog_client_conf |
| 176 | + changed_when: false |
155 | 177 | when: ansible_os_family == "Debian" |
156 | 178 |
|
157 | 179 | - name: Verify rsyslog client settings |
158 | | - assert: |
| 180 | + ansible.builtin.assert: |
159 | 181 | that: |
160 | 182 | - "'/etc/ssl/certs/rsyslog.crt' in rsyslog_client_conf.stdout" |
161 | 183 | - "'localhost' in rsyslog_client_conf.stdout" |
162 | 184 | when: ansible_os_family == "Debian" |
163 | 185 |
|
164 | 186 | - name: Capture postfix configuration file |
165 | | - shell: "cat /etc/postfix/main.cf" |
| 187 | + ansible.builtin.command: |
| 188 | + cmd: "cat /etc/postfix/main.cf" |
166 | 189 | register: postfix_main_cf |
| 190 | + changed_when: false |
167 | 191 |
|
168 | 192 | - name: Verify relay host was set |
169 | | - assert: |
| 193 | + ansible.builtin.assert: |
170 | 194 | that: |
171 | 195 | - "'relayhost = example.com' in postfix_main_cf.stdout" |
172 | 196 |
|
173 | 197 | - name: Capture mail aliases |
174 | | - shell: "cat /etc/aliases" |
| 198 | + ansible.builtin.command: |
| 199 | + cmd: "cat /etc/aliases" |
175 | 200 | register: mail_aliases |
| 201 | + changed_when: false |
176 | 202 |
|
177 | 203 | - name: Verify mail aliases were set |
178 | | - assert: |
| 204 | + ansible.builtin.assert: |
179 | 205 | that: |
180 | 206 | - "'root: john.doe@example.com, jane.doe@example.com, jack.doe@example.com' in mail_aliases.stdout" |
0 commit comments