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
|
retries: 30
|
||||||
delay: 2
|
delay: 2
|
||||||
changed_when: false
|
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"
|
name: "{{ semaphore_container_name }}.service"
|
||||||
state: started
|
state: started
|
||||||
enabled: true
|
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