Expand description
Provider-agnostic cloud node provisioning for ZLayer autoscaling.
This crate defines the CloudProvisioner trait and the value types used to
request and describe worker nodes that join a ZLayer cluster. The trait plus the
core value types depend only on async-trait, serde, and thiserror, so a
downstream consumer (for example a ZataCloudDeploy backend) can implement
the trait against its own cloud SDK without pulling in the reference
implementation’s runtime dependencies.
The built-in CloudInitProvisioner (behind the default cloud-init feature)
is a provider-agnostic implementation that shells out to operator-supplied
commands and feeds each node a cloud-init #cloud-config that runs
zlayer node join on boot. It requires no cloud SDK.
§Identifiers
ProviderNodeId is the provider-scoped identifier for a node (for example an
EC2 instance id or an opaque token printed by a provisioning script). It is
deliberately distinct from the raft layer’s numeric node id.
Re-exports§
pub use cloud_init::CloudInitConfig;pub use cloud_init::CloudInitProvisioner;
Modules§
- cloud_
init - Provider-agnostic cloud-init reference provisioner.
Structs§
- Node
Handle - A handle to a provisioned (or in-flight) node.
- Node
Shape - Desired shape of a node to provision.
- Price
Hint - A best-effort price estimate for a given shape.
Enums§
- Capacity
Type - Whether a node is billed as standard on-demand capacity or as interruptible spot/preemptible capacity.
- Join
State - Lifecycle state of a provisioned node as it works toward cluster membership.
- Provisioner
Error - Errors returned by a
CloudProvisioner.
Traits§
- Cloud
Provisioner - A pluggable backend that can create, destroy, and enumerate
ZLayernodes.
Type Aliases§
- Provider
Node Id - Provider-scoped node identifier.
- Result
- Convenience result alias for provisioner operations.