Systemd socket activation keeps the listening socket open across service restarts so connections queue at the kernel instead of getting 503s from Caddy. The Go server detects LISTEN_FDS and uses the inherited fd, falling back to normal listen for local dev. Caddy retry window bumped as a safety net. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
187 lines
4.3 KiB
YAML
187 lines
4.3 KiB
YAML
---
|
|
- name: Deploy Litestream config
|
|
template:
|
|
src: litestream.yml.j2
|
|
dest: "{{ app_root }}/shared/litestream.yml"
|
|
owner: deploy
|
|
group: www-data
|
|
mode: "0640"
|
|
|
|
- name: Deploy wppackages socket
|
|
template:
|
|
src: wppackages.socket.j2
|
|
dest: /etc/systemd/system/wppackages.socket
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy litestream service
|
|
template:
|
|
src: litestream.service.j2
|
|
dest: /etc/systemd/system/litestream.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify:
|
|
- Reload systemd
|
|
- Restart litestream
|
|
|
|
- name: Deploy wppackages service
|
|
template:
|
|
src: wppackages.service.j2
|
|
dest: /etc/systemd/system/wppackages.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify:
|
|
- Reload systemd
|
|
- Restart wppackages
|
|
|
|
- name: Deploy pipeline timer
|
|
template:
|
|
src: wppackages-pipeline.service.j2
|
|
dest: /etc/systemd/system/wppackages-pipeline.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy pipeline failure notifier service
|
|
template:
|
|
src: wppackages-pipeline-notify@.service.j2
|
|
dest: /etc/systemd/system/wppackages-pipeline-notify@.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Ensure scripts directory exists
|
|
file:
|
|
path: "{{ app_root }}/shared/scripts"
|
|
state: directory
|
|
owner: deploy
|
|
group: www-data
|
|
mode: "0755"
|
|
|
|
- name: Deploy pipeline failure notification script
|
|
template:
|
|
src: notify-pipeline-failure.sh.j2
|
|
dest: "{{ app_root }}/shared/scripts/notify-pipeline-failure.sh"
|
|
owner: deploy
|
|
group: www-data
|
|
mode: "0755"
|
|
|
|
- name: Deploy pipeline timer unit
|
|
template:
|
|
src: wppackages-pipeline.timer.j2
|
|
dest: /etc/systemd/system/wppackages-pipeline.timer
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy aggregate-installs timer
|
|
template:
|
|
src: wppackages-aggregate.service.j2
|
|
dest: /etc/systemd/system/wppackages-aggregate.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy aggregate-installs timer unit
|
|
template:
|
|
src: wppackages-aggregate.timer.j2
|
|
dest: /etc/systemd/system/wppackages-aggregate.timer
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy cleanup-sessions timer
|
|
template:
|
|
src: wppackages-cleanup.service.j2
|
|
dest: /etc/systemd/system/wppackages-cleanup.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy cleanup-sessions timer unit
|
|
template:
|
|
src: wppackages-cleanup.timer.j2
|
|
dest: /etc/systemd/system/wppackages-cleanup.timer
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy check-status service
|
|
template:
|
|
src: wppackages-check-status.service.j2
|
|
dest: /etc/systemd/system/wppackages-check-status.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy check-status timer unit
|
|
template:
|
|
src: wppackages-check-status.timer.j2
|
|
dest: /etc/systemd/system/wppackages-check-status.timer
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy generate-og timer
|
|
template:
|
|
src: wppackages-generate-og.service.j2
|
|
dest: /etc/systemd/system/wppackages-generate-og.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Deploy generate-og timer unit
|
|
template:
|
|
src: wppackages-generate-og.timer.j2
|
|
dest: /etc/systemd/system/wppackages-generate-og.timer
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|
|
|
|
- name: Enable and start litestream service
|
|
service:
|
|
name: litestream
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: Enable and start wppackages socket
|
|
service:
|
|
name: wppackages.socket
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: Enable and start wppackages service
|
|
service:
|
|
name: wppackages
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: Enable and start timers
|
|
service:
|
|
name: "{{ item }}"
|
|
state: started
|
|
enabled: yes
|
|
loop:
|
|
- wppackages-pipeline.timer
|
|
- wppackages-aggregate.timer
|
|
- wppackages-cleanup.timer
|
|
- wppackages-check-status.timer
|
|
- wppackages-generate-og.timer
|