|
8 | 8 | - python3-certbot-nginx |
9 | 9 | state: present |
10 | 10 |
|
11 | | -- name: Ensure deployment user exists when configured |
| 11 | +- name: Ensure website deployment users exist |
12 | 12 | ansible.builtin.user: |
13 | | - name: "{{ website_deploy_user.username }}" |
| 13 | + name: "{{ deploy_user.username }}" |
14 | 14 | state: present |
15 | 15 | create_home: true |
16 | | - shell: "{{ website_deploy_user.shell | default('/bin/bash') }}" |
17 | | - group: "{{ website_deploy_user.group | default('www-data') }}" |
18 | | - groups: "{{ website_deploy_user.groups | default(['www-data']) }}" |
19 | | - append: true |
20 | | - when: |
21 | | - - website_deploy_user is defined |
22 | | - - website_deploy_user.username is defined |
23 | | - - website_deploy_user.username | length > 0 |
| 16 | + shell: "{{ deploy_user.shell | default('/bin/bash') }}" |
| 17 | + group: "{{ deploy_user.group | default('www-data') }}" |
| 18 | + loop: "{{ website_deploy_users }}" |
| 19 | + loop_control: |
| 20 | + loop_var: deploy_user |
| 21 | + label: "{{ deploy_user.username }}" |
24 | 22 |
|
25 | | -- name: Ensure beta deployment directory exists and is writable |
| 23 | +- name: Ensure website deployment directories exist |
26 | 24 | ansible.builtin.file: |
27 | | - path: "{{ website_deploy_user.web_root }}" |
| 25 | + path: "{{ deploy_user.web_root }}" |
28 | 26 | state: directory |
29 | | - owner: "{{ website_deploy_user.username }}" |
30 | | - group: "{{ website_deploy_user.group | default('www-data') }}" |
31 | | - mode: "{{ website_deploy_user.web_root_mode | default('0775') }}" |
32 | | - when: |
33 | | - - website_deploy_user is defined |
34 | | - - website_deploy_user.web_root is defined |
35 | | - - website_deploy_user.web_root | length > 0 |
| 27 | + owner: "{{ deploy_user.username }}" |
| 28 | + group: "{{ deploy_user.group | default('www-data') }}" |
| 29 | + mode: "{{ deploy_user.web_root_mode | default('0755') }}" |
| 30 | + loop: "{{ website_deploy_users }}" |
| 31 | + loop_control: |
| 32 | + loop_var: deploy_user |
| 33 | + label: "{{ deploy_user.web_root }}" |
36 | 34 |
|
37 | | -- name: Ensure beta deployment directory contents are writable for deploy user and web group |
| 35 | +- name: Ensure website deployment directory contents are owned by each deploy user |
38 | 36 | ansible.builtin.file: |
39 | | - path: "{{ website_deploy_user.web_root }}" |
| 37 | + path: "{{ deploy_user.web_root }}" |
40 | 38 | state: directory |
41 | 39 | recurse: true |
42 | | - owner: "{{ website_deploy_user.username }}" |
43 | | - group: "{{ website_deploy_user.group | default('www-data') }}" |
44 | | - mode: "u=rwX,g=rwX,o=rX" |
45 | | - when: |
46 | | - - website_deploy_user is defined |
47 | | - - website_deploy_user.web_root is defined |
48 | | - - website_deploy_user.web_root | length > 0 |
| 40 | + owner: "{{ deploy_user.username }}" |
| 41 | + group: "{{ deploy_user.group | default('www-data') }}" |
| 42 | + mode: "u=rwX,g=rX,o=rX" |
| 43 | + loop: "{{ website_deploy_users }}" |
| 44 | + loop_control: |
| 45 | + loop_var: deploy_user |
| 46 | + label: "{{ deploy_user.web_root }}" |
49 | 47 |
|
50 | | -- name: Install deploy SSH key for the deployment user |
| 48 | +- name: Install website deployment SSH keys |
51 | 49 | ansible.posix.authorized_key: |
52 | | - user: "{{ website_deploy_user.username }}" |
| 50 | + user: "{{ deploy_user.username }}" |
53 | 51 | state: present |
54 | | - key: "{{ website_deploy_user.ssh_key }}" |
| 52 | + key: "{{ deploy_user.ssh_key }}" |
55 | 53 | exclusive: false |
56 | 54 | manage_dir: true |
| 55 | + loop: "{{ website_deploy_users }}" |
| 56 | + loop_control: |
| 57 | + loop_var: deploy_user |
| 58 | + label: "{{ deploy_user.username }}" |
57 | 59 | when: |
58 | | - - website_deploy_user is defined |
59 | | - - website_deploy_user.username is defined |
60 | | - - website_deploy_user.ssh_key is defined |
61 | | - - website_deploy_user.ssh_key | length > 0 |
| 60 | + - deploy_user.ssh_key is defined |
| 61 | + - deploy_user.ssh_key | length > 0 |
62 | 62 |
|
63 | 63 | - name: Ensure all website document roots exist |
64 | 64 | ansible.builtin.file: |
|
0 commit comments