32 lines
1.6 KiB
YAML
32 lines
1.6 KiB
YAML
---
|
|
# Attach this app's network to the shared Valkey unit.
|
|
#
|
|
# Valkey knows nothing about its clients, exactly like Caddy and Postgres: a
|
|
# service joins by dropping 50-yamtrack.conf and the shared
|
|
# 10-network-aliases.conf next to valkey.container. The canonical way to do that
|
|
# is the shared include below — it writes the same bytes every service writes,
|
|
# asserts that yamtrack.network already exists, and notifies the "Restart Valkey"
|
|
# handler defined in this role.
|
|
#
|
|
# `valkey` is the host REDIS_URL asks for — the container name, not the shared
|
|
# `redis` alias, which is there for the clients whose config.php says `redis`.
|
|
# The Docker-era container was given `redis://valkey:6379` too, so the URL is
|
|
# unchanged.
|
|
#
|
|
# This runs in the roles phase, which is after the register include in
|
|
# playbook.yml's pre_tasks has created yamtrack.network.
|
|
|
|
- name: Attach Yamtrack to Valkey
|
|
ansible.builtin.include_tasks: "{{ playbook_dir }}/../valkey/roles/attach/tasks/main.yaml"
|
|
|
|
# On a first attach the drop-in is new, so Valkey has to be recreated to join
|
|
# yamtrack_net — and that restart is a *handler*, which by default runs at the
|
|
# end of the play, after the yamtrack role has already started the app. The app
|
|
# would then come up before `valkey` resolves, fail its own checks, and fail the
|
|
# play on a machine where nothing is actually wrong.
|
|
#
|
|
# Flushing applies the new drop-in before the app starts. On later runs the
|
|
# drop-in is unchanged, nothing is pending, and this is a no-op.
|
|
- name: Apply the Valkey network change before starting Yamtrack
|
|
ansible.builtin.meta: flush_handlers
|