Repository navigation
Releases: xflash96/systemd-compose
Releases · xflash96/systemd-compose
Release list
v0.1.1
- A project name may contain
-. Units spell it\x2d, as
systemd-escapedoes: projectmy-apphasmy\x2dapp-api.service
andmy\x2dapp.slice. A directory namedmy-appstill gives the name
my_app. helpworks offline, with no man page installed (go installinstalls
none):help VERBprints the manual's entry for the verb, flags and
all,help yamlevery key of the file, andhelp manthe whole manual.
helpalone lists the verbs, one line each.import UNITprints asystemd-compose.yamlthat runs a unit you wrote
by hand as a project's service, and the commands that retire the unit
and any unit that starts it, a timer or a socket, whose text it prints.upregisters copies of the units in.systemd-compose/instead of
links to them, so they load at boot wherever the project lives, even
while its filesystem (NFS, FUSE) is not mounted yet; a project's next
upreplaces its links.registration: linkkeeps links, andup
warns when a project with links is on such a filesystem.upno longer prints systemctl's "Created symlink" line for each unit
after its plan has said so. Its healthcheck line says how long it waits
in the yaml's terms: until the test passes orstart_periodruns out,
and what the service'srestart:does if it fails.confignames a compose file'sbuild: .and a healthcheck'sCMDin
the same round as the keys it does not take, each with what to write
instead.- A healthcheck keeps checking once the service has started, as compose's
does: the test runs everyinterval(30s by default) while the service
runs, andretries(3) failed in a row makepssayunhealthy, with
since when and what the last check printed;logshas a line at each
change. As in compose, nothing restarts the service for that. At the
start the test runs everystart_interval(2s), asintervaldid
before: a yaml that setintervalfor a quicker start sets
start_intervalnow.pssayshealthywhere it saidready. starton a scheduled service names the command that runs the job now
as its timer would, with its output inlogs:systemctl --user start PROJECT-SERVICE.service.- Outside a project,
-p NAMEacts on the project registered under that
name, wherever its yaml is, as compose's-pdoes:systemd-compose -p demo logs -f.
v0.1.0
The first release of systemd-compose: run a project's services as systemd
user units, with docker compose's verbs and a compose-like
systemd-compose.yaml. One static binary for Linux on amd64 and arm64. It
needs systemd 248 or later, and is tested on 249 and 255.
Install from the tarballs below, as the README's Install section shows.
Each tarball's docs/ holds the man page, the guides, and a reference of
every key.