Skip to main content

Module paths

Module paths 

Source
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, because systemctl --user reads 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 inside service_home and 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 search into <cache>/default/ and updated by ryra registry update.
REGISTRY_DEFAULT
Sentinel value for InstalledService.repo meaning “came from the default registry” (the project-managed git repo at DEFAULT_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-registry inside 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 --user unit directory: ~/.config/systemd/user. Where native (non-quadlet) service units are linked so systemctl --user finds them — the analogue of quadlet_dir for runtime = "native" services.