Skip to main content

Crate zlayer_provisioner

Crate zlayer_provisioner 

Source
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§

NodeHandle
A handle to a provisioned (or in-flight) node.
NodeShape
Desired shape of a node to provision.
PriceHint
A best-effort price estimate for a given shape.

Enums§

CapacityType
Whether a node is billed as standard on-demand capacity or as interruptible spot/preemptible capacity.
JoinState
Lifecycle state of a provisioned node as it works toward cluster membership.
ProvisionerError
Errors returned by a CloudProvisioner.

Traits§

CloudProvisioner
A pluggable backend that can create, destroy, and enumerate ZLayer nodes.

Type Aliases§

ProviderNodeId
Provider-scoped node identifier.
Result
Convenience result alias for provisioner operations.