summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--roles/acl/meta/main.yml18
-rw-r--r--roles/acl/tasks/main.yml6
-rw-r--r--roles/curl/meta/main.yml18
-rw-r--r--roles/curl/tasks/main.yml6
-rw-r--r--roles/docker/meta/main.yml3
-rw-r--r--roles/network/handlers/main.yml6
-rw-r--r--roles/network/meta/main.yml3
-rw-r--r--roles/network/tasks/main.yml4
-rw-r--r--roles/pihole/handlers/main.yml6
-rw-r--r--roles/pihole/meta/main.yml4
-rw-r--r--roles/podman/meta/main.yml3
-rw-r--r--roles/ssh/handlers/main.yml4
-rw-r--r--roles/ssh/meta/main.yml3
-rw-r--r--roles/sudo/meta/main.yml18
-rw-r--r--roles/sudo/tasks/main.yml17
-rw-r--r--roles/systemd/meta/main.yml18
-rw-r--r--roles/systemd/tasks/main.yml6
-rw-r--r--roles/user/meta/main.yml3
-rw-r--r--roles/user/tasks/main.yml24
-rw-r--r--roles/wg_portal/meta/main.yml24
-rw-r--r--roles/wg_portal/tasks/main.yml8
-rw-r--r--roles/wireguard/meta/main.yml4
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"