Skip to main content

Crate tonin_plugin

Crate tonin_plugin 

Source
Expand description

Minimal Plan API for tonin plugin authors.

Reads tonin.toml and resolves env overlays without pulling in the CLI dep tree (no clap, tera, include_dir, or codegen machinery).

§Usage in a plugin’s Cargo.toml

[dependencies]
tonin-plugin = { version = "0.4", default-features = false }

§Core pattern

use std::path::Path;
use tonin_plugin::{Plan, select_env};

let env  = select_env(None);
let plan = Plan::load_with_env(Path::new("tonin.toml"), &env)?;
println!("deploying {} to {}", plan.name, plan.namespace);

Re-exports§

pub use plan::CURRENT_SCHEMA;
pub use plan::ClientSpec;
pub use plan::Error;
pub use plan::Mesh;
pub use plan::MethodCacheSpec;
pub use plan::Plan;
pub use plan::RECOMMENDED_CLI_MIN;
pub use plan::SUPPORTED_SCHEMAS;
pub use plan::ServiceKind;
pub use plan::ServiceRef;
pub use plan::WebMode;

Modules§

plan
Plan: typed deployment description loaded from tonin.toml.

Structs§

CacheSpec
ConfigSpec
DatabaseSpec
EmittedEnv
ExternalStore
MigrationsSpec
SecretsSpec

Enums§

CacheEngine
ConfigEngine
DatabaseEngine
MigrationRunOn
MigrationTool
SecretProvider

Functions§

select_env
Decide which env we’re rendering for. Precedence: explicit arg > env var > “dev”.