diff options
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/acl/meta/main.yml | 18 | ||||
| -rw-r--r-- | roles/acl/tasks/main.yml | 6 | ||||
| -rw-r--r-- | roles/curl/meta/main.yml | 18 | ||||
| -rw-r--r-- | roles/curl/tasks/main.yml | 6 | ||||
| -rw-r--r-- | roles/docker/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/network/handlers/main.yml | 6 | ||||
| -rw-r--r-- | roles/network/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/network/tasks/main.yml | 4 | ||||
| -rw-r--r-- | roles/pihole/handlers/main.yml | 6 | ||||
| -rw-r--r-- | roles/pihole/meta/main.yml | 4 | ||||
| -rw-r--r-- | roles/podman/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/ssh/handlers/main.yml | 4 | ||||
| -rw-r--r-- | roles/ssh/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/sudo/meta/main.yml | 18 | ||||
| -rw-r--r-- | roles/sudo/tasks/main.yml | 17 | ||||
| -rw-r--r-- | roles/systemd/meta/main.yml | 18 | ||||
| -rw-r--r-- | roles/systemd/tasks/main.yml | 6 | ||||
| -rw-r--r-- | roles/user/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/user/tasks/main.yml | 24 | ||||
| -rw-r--r-- | roles/wg_portal/meta/main.yml | 24 | ||||
| -rw-r--r-- | roles/wg_portal/tasks/main.yml | 8 | ||||
| -rw-r--r-- | roles/wireguard/meta/main.yml | 4 |
22 files changed, 157 insertions, 49 deletions
diff --git a/roles/acl/meta/main.yml b/roles/acl/meta/main.yml new file mode 100644 index 00000000..fc945b41 --- /dev/null +++ b/roles/acl/meta/main.yml @@ -0,0 +1,18 @@ +--- +dependencies: [] +galaxy_info: + author: "a14m" + description: "Install acl" + company: "kartoffeln.work GmbH." + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/acl/tasks/main.yml b/roles/acl/tasks/main.yml new file mode 100644 index 00000000..2299967a --- /dev/null +++ b/roles/acl/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: "Ensure acl is installed" + become: true + ansible.builtin.package: + name: "acl" + state: "present" diff --git a/roles/curl/meta/main.yml b/roles/curl/meta/main.yml new file mode 100644 index 00000000..11a6a1f1 --- /dev/null +++ b/roles/curl/meta/main.yml @@ -0,0 +1,18 @@ +--- +dependencies: [] +galaxy_info: + author: "a14m" + description: "Install curl" + company: "kartoffeln.work GmbH." + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/curl/tasks/main.yml b/roles/curl/tasks/main.yml new file mode 100644 index 00000000..f705e8b7 --- /dev/null +++ b/roles/curl/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: "Ensure curl is installed" + become: true + ansible.builtin.package: + name: "curl" + state: "present" diff --git a/roles/docker/meta/main.yml b/roles/docker/meta/main.yml index 3510a3b0..d759bb19 100644 --- a/roles/docker/meta/main.yml +++ b/roles/docker/meta/main.yml @@ -1,5 +1,6 @@ --- -dependencies: [] +dependencies: + - role: "systemd" galaxy_info: author: "a14m" description: "Install Docker Engine on Linux distributions" diff --git a/roles/network/handlers/main.yml b/roles/network/handlers/main.yml index 8bd5cdec..c0cc4927 100644 --- a/roles/network/handlers/main.yml +++ b/roles/network/handlers/main.yml @@ -1,13 +1,13 @@ --- - name: "Reload systemd" become: true - ansible.builtin.systemd_service: + ansible.builtin.systemd: daemon_reload: true when: not ansible_is_chroot - name: "Restart NetworkManager" become: true - ansible.builtin.systemd_service: + ansible.builtin.systemd: name: "NetworkManager" enabled: true state: "restarted" @@ -15,7 +15,7 @@ - name: "Restart systemd-resolved" become: true - ansible.builtin.systemd_service: + ansible.builtin.systemd: name: "systemd-resolved" enabled: true state: "restarted" diff --git a/roles/network/meta/main.yml b/roles/network/meta/main.yml index e0eb034f..fa562130 100644 --- a/roles/network/meta/main.yml +++ b/roles/network/meta/main.yml @@ -1,5 +1,6 @@ --- -dependencies: [] +dependencies: + - role: "systemd" galaxy_info: author: "a14m" description: "Configure basic distro networking features" diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index 3803c496..fbcc03c6 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -23,7 +23,7 @@ - name: "Ensure network enabled services are enabled" become: true - ansible.builtin.systemd_service: + ansible.builtin.systemd: name: "{{ item }}" enabled: true state: "started" @@ -40,7 +40,7 @@ - name: "Ensure network disabled services are disabled" become: true - ansible.builtin.systemd_service: + ansible.builtin.systemd: name: "{{ item }}" enabled: false state: "stopped" diff --git a/roles/pihole/handlers/main.yml b/roles/pihole/handlers/main.yml index dca1ef52..e95e4fae 100644 --- a/roles/pihole/handlers/main.yml +++ b/roles/pihole/handlers/main.yml @@ -1,15 +1,15 @@ --- - name: "Restart pihole" - ansible.builtin.systemd_service: + ansible.builtin.systemd: name: "pihole-FTL" state: "restarted" - name: "Restart systemd-resolved" - ansible.builtin.systemd_service: + ansible.builtin.systemd: name: "systemd-resolved" state: "restarted" - name: "Restart NetworkManager" - ansible.builtin.systemd_service: + ansible.builtin.systemd: name: "NetworkManager" state: "restarted" diff --git a/roles/pihole/meta/main.yml b/roles/pihole/meta/main.yml index 59be9d68..7708f945 100644 --- a/roles/pihole/meta/main.yml +++ b/roles/pihole/meta/main.yml @@ -1,5 +1,7 @@ --- -dependencies: [] +dependencies: + - role: "network" + - role: "systemd" galaxy_info: author: "a14m" description: "Configure pihole on supported devices" diff --git a/roles/podman/meta/main.yml b/roles/podman/meta/main.yml index fdecb168..143c6faf 100644 --- a/roles/podman/meta/main.yml +++ b/roles/podman/meta/main.yml @@ -1,5 +1,6 @@ --- -dependencies: [] +dependencies: + - role: "systemd" galaxy_info: author: "a14m" description: "Install Podman container engine on Linux distributions" diff --git a/roles/ssh/handlers/main.yml b/roles/ssh/handlers/main.yml index a73aca7e..5fd0d93a 100644 --- a/roles/ssh/handlers/main.yml +++ b/roles/ssh/handlers/main.yml @@ -1,13 +1,13 @@ --- - name: "Reload systemd" become: true - ansible.builtin.systemd_service: + ansible.builtin.systemd: daemon_reload: true when: not ansible_is_chroot - name: "Restart ssh" become: true - ansible.builtin.systemd_service: + ansible.builtin.systemd: name: "{{ ssh_service_name }}" state: "restarted" when: not ansible_is_chroot diff --git a/roles/ssh/meta/main.yml b/roles/ssh/meta/main.yml index bc90a3ab..d04b3eb0 100644 --- a/roles/ssh/meta/main.yml +++ b/roles/ssh/meta/main.yml @@ -1,5 +1,6 @@ --- -dependencies: [] +dependencies: + - role: systemd galaxy_info: author: "a14m" description: "Configure distro ssh with hardening" diff --git a/roles/sudo/meta/main.yml b/roles/sudo/meta/main.yml new file mode 100644 index 00000000..cadb8d3f --- /dev/null +++ b/roles/sudo/meta/main.yml @@ -0,0 +1,18 @@ +--- +dependencies: [] +galaxy_info: + author: "a14m" + description: "Install sudo" + company: "kartoffeln.work GmbH." + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/sudo/tasks/main.yml b/roles/sudo/tasks/main.yml new file mode 100644 index 00000000..a64f78d3 --- /dev/null +++ b/roles/sudo/tasks/main.yml @@ -0,0 +1,17 @@ +--- +- name: "Ensure sudo is installed" + become: true + ansible.builtin.package: + name: + - "sudo" + state: "present" + +- name: "Configure permissions for group: sudo" + become: true + community.general.sudoers: + name: "sudo" + group: "sudo" + commands: "ALL" + nopassword: false + sudoers_path: "/etc/sudoers.d" + state: present diff --git a/roles/systemd/meta/main.yml b/roles/systemd/meta/main.yml new file mode 100644 index 00000000..4e7749b5 --- /dev/null +++ b/roles/systemd/meta/main.yml @@ -0,0 +1,18 @@ +--- +dependencies: [] +galaxy_info: + author: "a14m" + description: "Install systemd" + company: "kartoffeln.work GmbH." + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/systemd/tasks/main.yml b/roles/systemd/tasks/main.yml new file mode 100644 index 00000000..b173ef5f --- /dev/null +++ b/roles/systemd/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: "Ensure systemd is installed" + become: true + ansible.builtin.package: + name: "systemd" + state: "present" diff --git a/roles/user/meta/main.yml b/roles/user/meta/main.yml index 996a5fc3..50cb8081 100644 --- a/roles/user/meta/main.yml +++ b/roles/user/meta/main.yml @@ -1,6 +1,7 @@ --- dependencies: - - "bash" + - role: "bash" + - role: "sudo" galaxy_info: author: "a14m" description: "Configure user and sudo" diff --git a/roles/user/tasks/main.yml b/roles/user/tasks/main.yml index e6e2a306..8fcb101b 100644 --- a/roles/user/tasks/main.yml +++ b/roles/user/tasks/main.yml @@ -1,29 +1,7 @@ --- -- name: "Ensure sudo is installed" - become: true - ansible.builtin.package: - name: - - "sudo" - state: "present" - -- name: "Set sudo group fact" - ansible.builtin.set_fact: - # noqa var-naming[no-role-prefix] the sudo group is global and better named this way than user_sudo_group - sudo_group: "sudo" - - name: "Set user groups fact" ansible.builtin.set_fact: - user_groups: "{{ ([username, sudo_group] + user_groups) | unique }}" - -- name: "Configure permissions for group: {{ sudo_group }}" - become: true - community.general.sudoers: - name: "enable-sudo-group" - group: "{{ sudo_group }}" - commands: "ALL" - nopassword: false - sudoers_path: "/etc/sudoers.d" - state: present + user_groups: "{{ ([username, 'sudo'] + user_groups) | unique }}" - name: "Ensure user groups are created" become: true diff --git a/roles/wg_portal/meta/main.yml b/roles/wg_portal/meta/main.yml new file mode 100644 index 00000000..fa382c2d --- /dev/null +++ b/roles/wg_portal/meta/main.yml @@ -0,0 +1,24 @@ +--- +dependencies: + # These dependencies are used in the install/uninstall script + - role: "bash" + - role: "systemd" + - role: "sudo" + - role: "curl" + - role: "acl" +galaxy_info: + author: "a14m" + description: "Install and configure wg-portal VPN web interface manager" + company: "kartoffeln.work GmbH." + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/wg_portal/tasks/main.yml b/roles/wg_portal/tasks/main.yml index 87c234e1..2c167f66 100644 --- a/roles/wg_portal/tasks/main.yml +++ b/roles/wg_portal/tasks/main.yml @@ -1,12 +1,4 @@ --- -- name: "Ensure wg-portal dependencies are installed" - become: true - ansible.builtin.package: - name: - - curl - - sudo - - acl - - name: "Create wg-portal user" become: true ansible.builtin.user: diff --git a/roles/wireguard/meta/main.yml b/roles/wireguard/meta/main.yml index 22da6ddd..d0012db4 100644 --- a/roles/wireguard/meta/main.yml +++ b/roles/wireguard/meta/main.yml @@ -1,6 +1,6 @@ --- -dependencies: [] - +dependencies: + - role: "systemd" galaxy_info: author: "a14m" description: "Install and configure WireGuard VPN connections" |
