1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//! # actr-config
//!
//! Configuration parsers for workload manifests and Hyper runtime config.
//!
//! This crate provides a two-layer configuration system:
//! - `ManifestRawConfig` / `ManifestConfig`: Parsed from `manifest.toml` (package metadata)
//! - `RuntimeRawConfig` / `RuntimeConfig`: Parsed from `actr.toml` (deployment config)
//!
//! The parser uses an edition-based system, allowing the configuration format
//! to evolve over time while maintaining backward compatibility.
//!
//! # Example
//!
//! ```no_run
//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
//! use actr_config::ConfigParser;
//!
//! // Parse manifest.toml (workload package metadata)
//! let manifest = ConfigParser::from_manifest_file("manifest.toml")?;
//! println!("Package: {}", manifest.package.name);
//!
//! // Parse actr.toml (runtime deployment config) — requires package info
//! let package = manifest.package.clone();
//! let runtime = ConfigParser::from_runtime_file("actr.toml", package)?;
//! println!("Signaling: {}", runtime.signaling_url);
//! println!("Realm: {}", runtime.realm.realm_id);
//! # Ok(())
//! # }
//! ```
// Core modules
// Re-exports for convenience
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
/// Re-export the new config types
pub use ;
/// Re-export commonly used types
pub use ;
pub use Url;