mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
f85996b43a added this mount on the premise that "checkmk's entrypoint runs
`omd create --no-tmpfs`, so the site's tmp directory is never mounted and the
site cannot come up cleanly", and noted that checkmk had not been watched
starting with it. The premise does not hold. `--no-tmpfs` persists TMPFS=off, so
omdlib never mounts anything and keeps ~/tmp as an ordinary directory on the
site volume; upstream runs it that way inside containers on purpose, because a
tmpfs mount there would need privileges (Werk 6528).
The mount was not solving a problem, it was the problem. Without a mode, Docker
28 creates a tmpfs as 755 root, and the site user cannot mkdir in it; with one,
compose honours it but `docker stack deploy` does not, because the compose to
swarm conversion builds TmpfsOptions from SizeBytes alone
(docker/cli cli/compose/convert/volume.go:146-170). That is why the key flipped
four times in two days and why run 34421944328 still crash-looped on swarm with
`PermissionError: '/omd/sites/cmk/tmp/apache'` after the mode came back.
Measured on the pinned checkmk/check-mk-raw:2.4.0p32, one container with the
tmpfs and one without, same volume layout otherwise:
healthy after 45s 45s
~/tmp tmpfs 751, site user, 192K -> 188K
login.py p50/p90 9.4 / 11.1 ms 8.1 / 10.8 ms
No difference that matters, and the directory OMD creates is exactly the one the
mount used to shadow. The image declares no VOLUME, so nothing anonymous takes
its place. Checkmk's own docs call the mount a performance option, and Werk
19700 recommends leaving it off because it breaks `omd restore`, which matters
here with `backup.no_stop_required: true`.
An entrypoint wrapper that chmods the path was tried first and rejected before
it landed: `docker stack config` refuses the `"$@"` it needs, and
sys-svc-compose-ca turns any longer `bash -c` argv into rc 127.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
8 lines
104 B
YAML
8 lines
104 B
YAML
---
|
|
checkmk_data:
|
|
type: volume
|
|
nfs: false
|
|
mounts:
|
|
- service: checkmk
|
|
target: /omd/sites
|