left4me: install_left4me_scripts reads from scripts/{libexec,sbin}/

left4me moved its privileged helpers out of deploy/files/usr/local/
into top-level scripts/{libexec,sbin}/ (left4me commit 5284e28).
deploy/ is now a reference exemplar, not source-of-truth; the helpers
are application-inherent code that lives where the rest of the
application does.

Repoint install_left4me_scripts at the new source paths under
/opt/left4me/src/scripts/{libexec,sbin}/. Install targets unchanged
(/usr/local/{libexec,sbin}/ on the host), so the apply is a no-op
diff on the deployed file content — only the source-of-install path
moves. Verified green by `bw apply ovh.left4me` against the test
server.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
CroneKorkN 2026-05-15 12:08:36 +02:00
parent 3ccaa919ee
commit 91b7265136
Signed by: cronekorkn
SSH key fingerprint: SHA256:v0410ZKfuO1QHdgKBsdQNF64xmTxOF8osF1LIqwTcVw

View file

@ -62,9 +62,10 @@ users = {
# backup restores. 980/981 are unused elsewhere in this repo. # backup restores. 980/981 are unused elsewhere in this repo.
# Privileged helpers are installed by the `install_left4me_scripts` # Privileged helpers are installed by the `install_left4me_scripts`
# action (below) directly from the left4me git checkout — no verbatim # action (below) directly from the left4me git checkout at
# copy in this bundle's files/ tree. Sudoers (further below) lists the # `/opt/left4me/src/scripts/{libexec,sbin}/` — no verbatim copy in this
# specific paths that left4me may invoke as root NOPASSWD. # bundle's files/ tree. Sudoers (further below) lists the specific
# paths that left4me may invoke as root NOPASSWD.
files = { files = {
'/etc/left4me/sandbox-resolv.conf': { '/etc/left4me/sandbox-resolv.conf': {
@ -186,15 +187,16 @@ git_deploy = {
actions['install_left4me_scripts'] = { actions['install_left4me_scripts'] = {
# Copy privileged scripts from the deployed left4me checkout into # Copy privileged scripts from the deployed left4me checkout into
# /usr/local/{libexec,sbin}/ as root:root 0755. Source of truth for # /usr/local/{libexec,sbin}/ as root:root 0755. Source of truth for
# the file content is left4me's deploy/files/usr/local/ tree; this # the file content is left4me's scripts/{libexec,sbin}/ tree (these
# bundle no longer carries verbatim duplicates. The two install # are application code, not deploy artifacts; left4me's deploy/ is
# globs map source dirs 1:1 to deploy targets. Triggered only on # reference material only). The two install globs map source dirs
# git_deploy updates so a no-op apply doesn't re-copy. # 1:1 to deploy targets. Triggered only on git_deploy updates so a
# no-op apply doesn't re-copy.
'command': ( 'command': (
'install -m 0755 -o root -g root -t /usr/local/libexec/left4me/ ' 'install -m 0755 -o root -g root -t /usr/local/libexec/left4me/ '
'/opt/left4me/src/deploy/files/usr/local/libexec/left4me/*; ' '/opt/left4me/src/scripts/libexec/*; '
'install -m 0755 -o root -g root -t /usr/local/sbin/ ' 'install -m 0755 -o root -g root -t /usr/local/sbin/ '
'/opt/left4me/src/deploy/files/usr/local/sbin/*' '/opt/left4me/src/scripts/sbin/*'
), ),
'triggered': True, 'triggered': True,
'cascade_skip': False, 'cascade_skip': False,