mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
The constructor parked no applications carrier between the merge block and the token store, so every lookup in the svc-swarm-node, svc-storage, svc-registry and svc-virt bootstrap rendered the SPOT cold, 25 to 30 s each on a loaded host. A carrier there was unsafe: in swarm, svc-storage-nfs-server mounts the NFS export over the controller's DIR_VAR_LIB, so the tokens file the render reads can appear in the middle of that section, and the cache key did not notice. merged_applications_cache_key now includes the tokens file's path, mtime and size, as the users cache key already did, so a carrier rejects itself once the tokens change. A carrier parked after the add_host tasks then serves the bootstrap roles. It is parked only in swarm mode: in compose the section runs in about a second, so a carrier there would add a render without saving one. In a swarm drill of web-app-prometheus up to the known NFS probe-write failure, "Resolve the NFS server backend flavor" went from 29.6 s to 0.07 s, "Probe-mount the NFS export" from 26.4 s to 0.4 s, "Mount cluster-shared infinito state on controller" from 23.7 s to 0.5 s and "Ensure Docker-In-Docker DNS works" from 30.0 s to 3.6 s; the run to that point took 768 s instead of 1735 s. Closes #925 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>