pub enum Capability {
ReverseProxy,
OidcProvider,
ForwardAuthProvider,
SmtpRelay,
MetricsStore,
MetricsDashboard,
}Expand description
A role a service can play for other services. Pattern-match exhaustively — adding a new variant forces every dispatch site to think about it.
Serializes as a kebab-case string so it round-trips cleanly through
service.toml (provides = ["reverse-proxy", …]) and through
metadata.toml (per-install snapshot).
Variants§
ReverseProxy
Terminates TLS and routes external hostnames to service containers. Today: Caddy. Future: nginx, traefik, etc.
OidcProvider
Issues OIDC tokens; ryra registers clients against it. Today: Authelia. Future: Pocket-ID, Authentik, Keycloak, …
ForwardAuthProvider
Sits in front of services as Caddy forward_auth (cookie-based
gate, no native OIDC in the protected service).
SmtpRelay
Accepts mail from services. Today: Inbucket (dev). Future: real MTA configurations.
MetricsStore
Scrapes and stores metrics; ryra drops file_sd target files into
its targets/ dir. Today: Prometheus. Future: VictoriaMetrics, …
MetricsDashboard
Visualizes metrics from a Capability::MetricsStore; ryra
provisions a datasource pointing at the installed store.
Today: Grafana.
Implementations§
Trait Implementations§
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for Capability
Source§impl Debug for Capability
impl Debug for Capability
Source§impl<'de> Deserialize<'de> for Capability
impl<'de> Deserialize<'de> for Capability
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for Capability
impl Display for Capability
impl Eq for Capability
Source§impl PartialEq for Capability
impl PartialEq for Capability
Source§fn eq(&self, other: &Capability) -> bool
fn eq(&self, other: &Capability) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for Capability
impl Serialize for Capability
impl StructuralPartialEq for Capability
Auto Trait Implementations§
impl Freeze for Capability
impl RefUnwindSafe for Capability
impl Send for Capability
impl Sync for Capability
impl Unpin for Capability
impl UnsafeUnpin for Capability
impl UnwindSafe for Capability
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.