control_plane
Module: control_plane
Section titled “Module: control_plane”Contents
Section titled “Contents”Structs
ControlPlaneClient- Authenticated Control Plane requests for one saved login.ResolvedAgent- An Agent as the Control Plane resolved it.StartedRun- A started run: its identity, its one Sidecar identity, and the
Enums
ControlPlaneError- Why a Control Plane request did not produce its answer.
firma_login::control_plane::ControlPlaneClient
Section titled “firma_login::control_plane::ControlPlaneClient”Struct
Authenticated Control Plane requests for one saved login.
Methods:
fn close_run(self: & mut Self, run_id: RunId, outcome: CloseOutcome) -> Result<RecordedOutcome, ControlPlaneError>- Closesrun_idasoutcomeand returns what the Control Planefn new(store: ConnectionStore) -> Self- Usesstoreas the single source of access.fn drop_connections(self: & mut Self)- Drops the HTTP connections and keeps the session with its accessfn renew_access(self: & mut Self) -> Result<(), ControlPlaneError>- Renews the access token now when it is about to expire, so that afn resolve_agent(self: & mut Self, handle: &AgentHandle) -> Result<ResolvedAgent, ControlPlaneError>- Resolves the active Agent withhandlein the login’s Workspace.fn start_run(self: & mut Self, handle: &AgentHandle, generation: &str) -> Result<StartedRun, ControlPlaneError>- Starts a run of the Agenthandleat the configuration
firma_login::control_plane::ControlPlaneError
Section titled “firma_login::control_plane::ControlPlaneError”Enum
Why a Control Plane request did not produce its answer.
No variant carries a token or free server-supplied text: a problem code is shown only once it parsed as a short machine name.
Variants:
Session(crate::SessionError)- The saved login could not provide access.Unauthorized- The Control Plane refused the access token.AccessDenied- The Membership may not use Agents in this Workspace.RunNotClosable- A human login cannot close a machine-owned run.AgentNotFound(firma_identifiers::AgentHandle)- No active Agent has the handle in this Workspace.Refused{ status: reqwest::StatusCode, code: String, request_id: Option<uuid::Uuid> }- The Control Plane refused the request with a code this firma has noIncompatibleServer- The Control Plane speaks another contract version or sent anAuthorityTransportUnsupported- The Authority is reachable only over a transport this firma does notUnavailable{ status: reqwest::StatusCode, request_id: Option<uuid::Uuid> }- The Control Plane could not answer now.Transport(reqwest::Error)- The request could not be built or delivered.
Trait Implementations:
- Display
fn fmt(self: &Self, __formatter: & mut ::core::fmt::Formatter) -> ::core::fmt::Result
- Debug
fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result
- From
fn from(source: SessionError) -> Self
- Error
fn source(self: &Self) -> ::core::option::Option<&dyn ::thiserror::__private21::Error>
firma_login::control_plane::ResolvedAgent
Section titled “firma_login::control_plane::ResolvedAgent”Struct
An Agent as the Control Plane resolved it.
Fields:
agent_id: firma_identifiers::AgentId- The Agent’s identity.handle: firma_identifiers::AgentHandle- The handle it was resolved by.name: String- Display name chosen by a Member; any text, so escape it beforeprofile_id: firma_config_loader::AgentProfile- The canonicalOpenFirmaAgent profile the Control Plane names.policy_set_id: String- The Policy Set the Agent runs under; unvalidated.generation: String- Opaque, unordered; changes whenever the configuration changes.workspace_id: firma_identifiers::WorkspaceId- The Workspace the request was answered for.authority_grpc_uri: url::Url- Where a Sidecar reaches the Authority’s gRPC services:httpstocapability_public_key: [u8; 32]- The Workspace’s Ed25519 capability verifying key, raw.
Trait Implementations:
- Debug
fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result
firma_login::control_plane::StartedRun
Section titled “firma_login::control_plane::StartedRun”Struct
A started run: its identity, its one Sidecar identity, and the runtime credential that authenticates it.
Fields:
run_id: firma_identifiers::RunId- The run the Control Plane created.sidecar_id: firma_identifiers::SidecarId- The Sidecar identity issued for this run alone.credential: secrecy::SecretString- The runtime bearer, shown by the Control Plane exactly once;Debug
Trait Implementations:
- Debug
fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result