Expand description
The MicroVMs client’s production port implementations (ARCH-7).
microvms-app declares the ports its use cases reach the outside through; this crate
implements them over the real thing:
control::SignedTransportandcontrol::SignedBuildServices: the default credential chain, SigV4, and reqwest, for the control plane and for STS and S3;session::http::ReqwestBackend: the daemon’s HTTP API, one pooled client;session::forward,session::tunnelandsession::shell: the sockets, from the port forwarder’s listener to the WebSocket tunnel and its Noise identity proof;names::FileNameStore: the CLI’s name registry on disk;run_store::FileRunStore: run ledgers and append-only VM history on disk;agents::bedrock::mint: a Bedrock bearer token from the caller’s credentials;provision: the verifiedagentdbinary, fetched and cached;clock::TokioClock,entropy::OsEntropy, andadapters::SystemAdapters, which hands out the pieces a use case builds partway through.
It’s the one library crate in the workspace that may depend on a crate doing network, AWS,
filesystem, subprocess, clock or entropy I/O. microvms-core wires these into the use cases
and re-exports every item here at its microvms_core:: path, so a consumer never depends
on this crate directly.
Modules§
- adapters
- The production
Adapters: reqwest for sessions, SigV4 for STS and S3, tokio’s clock. - agents
- The agent helpers’ production piece: minting a Bedrock bearer token.
- clock
- The production clock.
- control
- The control plane’s production pieces: the signed transport, the build services, and the build context read from a directory.
- entropy
- The production entropy source.
- env
- The process environment, as the lookup this crate’s resolvers take.
- identity
- The host’s Noise initiator for the tunnel identity proof.
- names
- The CLI’s name registry: one owner-only JSON file per name under
<state dir>/names/. - provision
- Provisioning of the
agentddaemon binary: one call that returns verified aarch64 bytes for the version a client drives (BIND-17 through BIND-20, issue #219). - run_
store - File storage compatible with the CLI’s existing run and history documents.
- secret_
input - Host credential input from private files or caller-owned byte streams.
- session
- The session’s production pieces: the reqwest backend and the sockets.
- workspace
- The local half of directory transfer: the walk, the hash, the tar packing and the guarded
extraction behind
microvms_app::workspace::LocalTree(#260).
Constants§
- VERSION
- The version of the daemon release
provisionfetches by default.