# How Bento releases magicmirror. Lives here rather than in the daemon's config # so it is versioned with the code it describes. # # A service, not an app or a library: magicmirror is run rather than distributed. # There is no bundle for a user to download and no crate to publish. # # WHY THIS FILE EXISTS. astra's copy was a binary somebody had placed at # ~/.local/bin/magicmirror by hand, with no release history, no rollback and no # way to ask it what it was -- the only handle was the file's mtime. It was the # least stale of the three services on that host in that state, which is not the # same as being watched. Infra `e6acf532`. kind = "service" # aarch64 only. This runs on exactly one machine: it is drawn onto astra's tty1 # as an always-on wall panel, and there is no second instance anywhere. targets = ["linux/aarch64"] version_path = "Cargo.toml" # MNW is one .git over several separately-versioned products, so the default # `v{version}` names no product in particular here. tag_format = "magicmirror-v{version}" # One target, so inert either way. Stated rather than omitted so the answer does # not have to be reasoned out if a second is ever added. require_all_targets = true # CEREMONY, and this is the cheapest rung on purpose. A bad deploy here costs a # monitoring panel on a console going blank. Nobody's money, nobody's morning, # and no data. So it installs itself through Bento the way wam does rather than # paying for Sando's tiers, and the rollback is the installer's `.prev`. # See wiki `deploy-ceremony-tiers`. # # install_path is /usr/local/bin/magicmirror, which is a MOVE: the running # binary was at ~/.local/bin/magicmirror. install-service.sh refuses any dst # outside /usr/local/bin, and that guard is the only thing bounding a NOPASSWD # sudo grant, so the binary moves rather than the guard widening -- the same # call wam made on 2026-08-15. The unit's ExecStart moves with it. # # No `health_url`: this is a TUI drawn on a console, not a server, so there is # no port to probe and no status code to read. The recipe asserts the unit is # active, which is the whole of what "up" means for this one. [[deploy]] target = "linux/aarch64" host = "astra" install_path = "/usr/local/bin/magicmirror" service = "magicmirror-panel.service"