Add systemd_socket role

This commit is contained in:
uumas
2026-03-12 01:54:56 +02:00
parent 5b2b612b22
commit 499f042c75
7 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1 @@
Adds a systemd socket for a service

View File

@@ -0,0 +1,2 @@
---
systemd_socket_requires: []

View File

@@ -0,0 +1,6 @@
---
- name: Restart socket {{ systemd_socket_name }}
ansible.builtin.set_fact:
systemd_restart_units: "{{ systemd_restart_units + [systemd_socket_name ~ '.socket'] }}" # noqa: var-naming[no-role-prefix]
changed_when: true
notify: Apply systemd unit restarts

View File

@@ -0,0 +1,16 @@
---
argument_specs:
main:
description:
- Adds a systemd socket for a service
options:
systemd_socket_name:
description: Name of the socket. The socket will be created at /run/<systemd_socket_name>.sock
type: str
required: true
systemd_socket_requires:
description: List of units this socket depends on.
type: list
required: false
default: []
elements: str

View File

@@ -0,0 +1,3 @@
---
dependencies:
- role: systemd

View File

@@ -0,0 +1,9 @@
---
- name: Socket {{ systemd_socket_name }}
ansible.builtin.template:
src: socket.j2
dest: /etc/systemd/system/{{ systemd_socket_name }}.socket
mode: "0644"
notify:
- Reload systemd daemon
- Restart socket {{ systemd_socket_name }}

View File

@@ -0,0 +1,9 @@
# {{ ansible_managed }}
[Unit]
Description={{ systemd_socket_name }} socket
{% for item in systemd_socket_requires %}
Requires={{ item }}
{% endfor %}
[Socket]
ListenStream=/run/{{ systemd_socket_name }}.sock