Skip to main content

Module ops

Module ops 

Source
Expand description

Frontend-neutral operation vocabulary.

Every way of driving ryra (CLI today, HTTP API, and whatever comes later) expresses state changes as an Operation and plans it through plan. The request types are plain serde data: required fields are required by construction, optional knobs are Option or defaulted, and mutually exclusive choices are enums, so a frontend cannot build an invalid request and cannot silently support less than the vocabulary (exhaustive match breaks the build when a variant is added).

Frontends keep their sugar (interactive prompts, auto-installing authelia/inbucket, batching): sugar resolves user input into these requests. Business rules live here, never in a frontend.

Structs§

AddRequest
BackupRunRequest
ConfigureRequest
Re-render an installed service with a changed integration set. The change set is core’s crate::configure::Overrides: None fields stay untouched, provided fields are the new truth.
LifecycleRequest
PlanContext
Frontend-supplied capabilities and plan mechanics. Everything here is either a system probe core refuses to own (port_in_use) or internal plumbing for retries/upgrades; none of it is user intent.
PlannedAdd
A planned add, carrying everything a frontend needs to record and execute it without re-deriving anything.
RemoveRequest
UpgradeRequest

Enums§

AuthRequested
Whether (and how) to wire the service to the auth provider.
ExposureRequest
How the service should be reachable. The frontends resolve fuzzier intent (prompts, --tailscale tailnet lookup) into one of these.
Operation
The complete state-changing vocabulary. Wire frontends can carry this enum directly; the CLI constructs the inner requests from flags and prompts.
Planned
The planned outcome of any Operation. Execution stays with the frontend (it owns the Step executor).

Functions§

plan
Plan one operation. The single entry point shared by all frontends.
plan_add
plan_backup_run
Plan a backup of one service: resolves the install’s registry dir and the configured repository. Execution is crate::backup::execute_backup_run.
plan_configure
plan_lifecycle
plan_remove
plan_upgrade