Expand description
Filesystem paths ryra reads and writes.
The directory name is services/ (not ryra/) because the deployments
are the user’s — ryra is just the scaffolding tool that puts them there.
Wiping ~/.local/share/services/, ~/.config/services/, and the
ryra-managed quadlets in ~/.config/containers/systemd/ removes ryra’s
footprint completely.
Constants§
- CONFIG_
DIR_ ENV - Env var that, when set, overrides the directory holding
preferences.toml(normally~/.config/services/). The E2E test harness points this at a throwaway dir for host (bare-mode) runs so tests never read or clobber the user’s real SMTP/auth/backup credentials. Only the preferences/config dir moves — service data (~/.local/share/services) and quadlets (~/.config/containers/systemd) stay put, becausesystemctl --userreads those from fixed locations. - DATA_
DIR_ ENV - Env var that, when set, overrides the service-data root (normally
~/.local/share/services/). The host test harness points this at a sandbox (~/.local/share/services-test/services/) so test deployments never share a directory with the user’s real services. Because ryra stores each quadlet insideservice_homeand only symlinks it into the systemd quadlet dir, moving this also moves the unit files; the quadlet symlink still lands in the fixed~/.config/containers/systemd. - DEFAULT_
REGISTRY_ URL - Git URL of the default service registry. Cloned on first
ryra add/ryra searchinto<cache>/default/and updated byryra registry update. - REGISTRY_
DEFAULT - Sentinel value for
InstalledService.repomeaning “came from the default registry” (the project-managed git repo atDEFAULT_REGISTRY_URL) rather than a user-added custom registry. - REGISTRY_
DIR_ ENV - Env var that, when set to an existing directory, replaces the git
fetch entirely — ryra uses that directory as the default registry
verbatim (no clone, no pull). The E2E test harness sets this to
/opt/ryra-test-registryinside the VM; dev workflows can point it at a local checkout to iterate without committing/pushing.
Functions§
- metadata_
path - Per-install metadata file:
~/.local/share/services/<name>/metadata.toml. Stores the install-time decisions (registry, exposure, url, auth) so later commands can reconstruct the install without scraping comments. - quadlet_
dir - Quadlet directory: ~/.config/containers/systemd
- service_
data_ root - Root directory holding every installed service’s home dir:
~/.local/share/services/. - service_
home - Data directory for a service:
~/.local/share/services/<name> - systemd_
user_ dir - systemd
--userunit directory:~/.config/systemd/user. Where native (non-quadlet) service units are linked sosystemctl --userfinds them — the analogue ofquadlet_dirforruntime = "native"services.