5 releases
| 0.1.4 | Sep 9, 2025 |
|---|---|
| 0.1.3 | Mar 19, 2025 |
| 0.1.2 | Mar 19, 2025 |
| 0.1.1 | Mar 3, 2025 |
| 0.1.0 | Mar 2, 2025 |
#752 in Cryptography
354 downloads per month
Used in up-rust
35KB
721 lines
Eclipse Symphony Target Provider Rust Binding
This crate provides the Eclipse Symphony Target provider Rust binding, which allows a custom Target provider to be written in Rust.
Symphony is a toolchain orchestrator that aims to provide consistent management experience across multiple toolchains. A key capability of Symphony is state seeking, where a system's current is brought towards a new desired state. Symphony allows different toolchains to join the state seeking process through a Target Provider trait.
pub trait ITargetProvider: Send + Sync {
fn get_validation_rule(&self) -> Result<ValidationRule, String>;
fn get(&self, deployment: DeploymentSpec, references: Vec<ComponentStep>) -> Result<Vec<ComponentSpec>, String>;
fn apply(&self, deployment: DeploymentSpec, step: DeploymentStep, is_dry_run: bool) -> Result<HashMap<String, ComponentResultSpec>, String>;
}
- The
get()method returns the current state of a system. - The
apply()method applies the new desired state. - The
get_validation_rule()allows a provider to define what properties are expected in the incoming state spec, and what properties to be used for change detection.
Current Rust based Target Providers
| Provider | Info |
|---|---|
| ankaios | An Eclipse Ankaios provider |
| mock | A mock provider for testing purposes |
Dependencies
~6.5–10MB
~111K SLoC