Skip to main content

Crate bestool_canopy

Crate bestool_canopy 

Source

Re-exports§

pub use reqwest;

Modules§

registration
Single, machine-bound, encrypted store for this host’s canopy enrollment.
schema
Wire types generated at build time from canopy’s OpenAPI document.

Structs§

CanopyClient
HTTP client with auth configured for talking to a canopy server.
ContainerCreds
Creds in the ECS container-credentials shape kopia’s minio-go provider polls for: note Token (not SessionToken), and Expiration as RFC3339 Z.
Redacted
Wraps a sensitive value so its Debug output doesn’t leak the contents.
RestoreCapabilitiesRequest
Body for POST /restore-capabilities: the restore intents this consumer supports.
RestoreCredentialsRequest
Body for POST /restore-credentials.

Enums§

TargetOutcome
Result of GET /backup-target: a live target, or the benign dormant state (the device is not yet authorised for backups — 412/409).

Constants§

CERT_RENEW_AFTER
How long to wait between scheduled cert renewals.
DEFAULT_CANOPY_URL
TAILSCALE_URL
Base URL for the tailscale-internal canopy endpoint.

Functions§

client_builder
A reqwest::ClientBuilder carrying the bestool user_agent for version.
device_identity
Build a short-lived self-signed client certificate from a P-256 device key PEM and wrap it as a reqwest mTLS [Identity].
tailscale_client
Probe the canopy tailnet endpoint, returning a client routed to it if reachable.
user_agent
Browser-style user-agent string, e.g. bestool/1.2.3 (Linux 7.0.9 Arch Linux; x86_64).

Type Aliases§

ClientBuilderFactory
Factory producing the base reqwest::ClientBuilder for canopy’s clients.