Expand description
The control-plane client, with the signed transport and the build services.
Modules§
- artifact
- The build artifact: a zip of the daemon binary, a Dockerfile, and — when the caller
passes
ProjectFiles— the project’s dependency files. - connector
- Managed connector intents and customer-managed VPC egress connector validation.
- context
- A task’s build context, and reading one from a directory (#221, IMAGE-7).
- ensure
- Content-addressed build-or-reuse for an image: what
Sandbox::ensure_imagedoes (#221). - image
- Image create, the build wait, and the stalled-build probe (TRAP-1, TRAP-2).
- microvm
- Launch, the launch wait, the lifecycle calls, and the proxy token (TRAP-5, TRAP-8).
- ops
- The wire shapes, transcribed member-for-member from the pinned service model.
- project
- A project directory’s dependency files: the pairing rule, and reading the pair from a directory (#74, #264).
- services
- The STS and S3 calls
ensure_imagemakes, and their SigV4 implementation. - sweep
- Prefix-scoped cleanup. Discovery finishes before mutation so deletion cannot move a pagination cursor past another resource. Keep entries protect both an image and its VMs.
- token
- Idempotency tokens, unique per attempt by construction (TRAP-1).
- transport
- The control plane’s calls, the transport port, and the signed transport.
Structs§
- Base
Image - A base image: the platform ARN, the Dockerfile
FROMthat pairs with it, and whether it declares aWORKDIR. - Build
Context - A build context: the files beside the Dockerfile in the artifact, sorted by name.
- Context
Entry - One file of a build context: its path relative to the context root, its mode, and its bytes.
- Control
Plane - The control-plane client.
- Create
Image Request - Everything
CreateMicrovmImageneeds, with the traps closed in the type. - Ensure
Image Request - Everything
Sandbox::ensure_imageneeds. - Ensured
Image - What
Sandbox::ensure_imagereturns. - Image
- A built image, and the log group the service created alongside it.
- Microvm
- A launched MicroVM, as the service last described it.
- Microvm
Filter - The optional filters
ListMicrovmsaccepts. - Project
Files - A project’s dependency files: the lockfile plus the manifest that owns it.
- Proxy
Token - The minted proxy token, as a header map (TRAP-7).
- RunHook
Payload - A
runHookPayloadthat is known to fit the service ceiling. - RunMicrovm
Request - Everything
RunMicrovmneeds. - Signed
Build Services - STS and S3 over SigV4, with the default credential chain.
- Sweep
Failure - A failed resource operation. Other candidates are still processed.
- Sweep
Options - Options for an explicitly scoped sweep. The default only discovers resources.
- Sweep
Report - An inventory and confirmed cleanup outcomes. Dry runs populate only the inventory.
- System
Clock - The control plane’s name for
TokioClock, kept socontrol::SystemClock::new()andSystemClock::default()still resolve. The production clock: tokio’s monotonic clock and the system’s wall clock. - Wait
Opts - How long to wait and how often to poll.
- Wrap
Options - What
wrap_dockerfileneeds besides the task text.
Enums§
- Connector
Intent - Lambda-managed connector intents. Customer-managed VPC connectors use explicit ARNs.
- Ecosystem
- An ecosystem whose dependency files may enter the build artifact (#74).
- Egress
Posture - Conservative network posture inferred from launch options.
Constants§
- DEFAULT_
AGENT_ PORT - Compatibility alias for the shared daemon listener default.
- PLATFORM_
HONOURS_ OMITTED_ EGRESS - Compatibility constant: omitting an egress connector does not block internet access. Isolation requires a VPC egress connector and a VPC without an internet gateway or NAT gateway. A launch flag cannot establish the VPC’s routing configuration.
Traits§
- Build
Services - The seam
ensure_imagereaches STS and S3 through. - Clock
- The clock every wait here measures its deadline on. It’s the crate’s one
Clock, so the plane and the sessions it hands out read the same time source. Time, injectable so a wait or a refresh boundary is a test rather than a wait.
Functions§
- artifact_
content_ hash - The sha256 of the artifact’s inputs, as lowercase hex.
- build_
artifact - Zips
binarywithdockerfile— and, when given, the project’s dependency files — into the bytescodeArtifact.uriwill point at. - default_
dockerfile - A Dockerfile that makes the daemon the container
CMD. - egress_
posture_ for - The egress posture a launch with these options reports, or the refusal it raises (BIND-11, BIND-13). Pure: no AWS call, no credentials.
- hooks_
block - The
Hooksblock with all six hooks enabled and both timeout families set. - read_
project_ files - The one manifest+lockfile pair in
dir, read intoProjectFiles, or the refusalproject_ecosystemmakes: no pair, a half pair, or two ecosystems. - require_
duration_ in_ range - Rejects a
maximumDurationInSecondsoutside the service range. - require_
idle_ duration - Rejects an
idlePolicy.maxIdleDurationSecondsunder the model’smin: 60. - require_
non_ blank - Rejects a
NonBlankStringvalue the service would reject. - require_
valid_ identifier - Rejects a
MicrovmIdentifier/MicrovmImageIdentifierthe service would reject. - require_
valid_ image_ name - Rejects an image name the service would reject, before the artifact upload.
- require_
valid_ log_ group - Rejects a
logging.cloudWatch.logGroupthe service would reject, before the artifact upload. - require_
valid_ log_ stream - Rejects a caller-supplied
logging.cloudWatch.logStreamprefix the resolved name could not legally carry, before the artifact upload. - require_
valid_ port - Rejects a port the
PortNumberorHooksPortIntegershapes would reject. Minimum 1. - require_
valid_ role_ arn - Rejects a
RoleArnthe service would reject, before the artifact upload. - require_
valid_ tags - Rejects a tag map the service would reject, naming the key and the half that failed.
- require_
valid_ version - Rejects a
Version/NonBlankStringvalue the service would reject. - wrap_
dockerfile - A task Dockerfile with the agentd stanza appended: the one call a harness needs to go from the Dockerfile a task brings to one this client can build (#220).
- wrap_
dockerfile_ preserving_ user - Preserve the final Dockerfile USER as the default identity for workload execs.