fix(semaphore): force container restart when Quadlet template changes
Quadlet regenerates the systemd unit on daemon-reload but does not restart the running container — the process keeps its original environment until restarted. Add explicit 'state: restarted' tasks gated on the Quadlet template's changed status so env-var updates actually take effect on re-runs.
This commit is contained in:
@@ -33,3 +33,11 @@
|
||||
retries: 30
|
||||
delay: 2
|
||||
changed_when: false
|
||||
|
||||
# Same Quadlet-restart caveat as Semaphore: regenerated unit but the
|
||||
# running container keeps its original env until forced.
|
||||
- name: Restart PostgreSQL on Quadlet change
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ semaphore_postgres_container_name }}.service"
|
||||
state: restarted
|
||||
when: postgres_quadlet.changed
|
||||
|
||||
@@ -22,3 +22,13 @@
|
||||
name: "{{ semaphore_container_name }}.service"
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
# Quadlet does NOT auto-restart a running container when its .container
|
||||
# file changes — the systemd unit is regenerated, but the container
|
||||
# process keeps its original env. Force a restart when the Quadlet
|
||||
# template was modified so env-var changes actually take effect.
|
||||
- name: Restart Semaphore on Quadlet change
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ semaphore_container_name }}.service"
|
||||
state: restarted
|
||||
when: semaphore_quadlet.changed
|
||||
|
||||
Reference in New Issue
Block a user