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
- Backup
RunRequest - Configure
Request - Re-render an installed service with a changed integration set. The
change set is core’s
crate::configure::Overrides:Nonefields stay untouched, provided fields are the new truth. - Lifecycle
Request - Plan
Context - 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. - Planned
Add - A planned add, carrying everything a frontend needs to record and execute it without re-deriving anything.
- Remove
Request - Upgrade
Request
Enums§
- Auth
Requested - Whether (and how) to wire the service to the auth provider.
- Exposure
Request - How the service should be reachable. The frontends resolve fuzzier
intent (prompts,
--tailscaletailnet 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