34 lines
745 B
Rust
Raw Normal View History

use serde::Serialize;
mod node;
pub use node::{
BinaryConfigNodeSpec, EnvEntry, LoopbackNodeRuntimeSpec, NodeDescriptor,
binary_config_node_runtime_spec, build_binary_config_node_descriptors,
build_loopback_node_descriptors,
};
2026-02-02 07:19:22 +01:00
/// Top-level docker-compose descriptor built from an environment-specific
/// topology.
#[derive(Clone, Debug, Serialize)]
pub struct ComposeDescriptor {
2026-01-26 08:26:15 +01:00
nodes: Vec<NodeDescriptor>,
}
impl ComposeDescriptor {
#[must_use]
2026-02-02 07:19:22 +01:00
pub fn new(nodes: Vec<NodeDescriptor>) -> Self {
Self { nodes }
}
2026-02-02 07:19:22 +01:00
#[must_use]
2026-01-26 08:26:15 +01:00
pub fn nodes(&self) -> &[NodeDescriptor] {
&self.nodes
}
2026-02-02 07:19:22 +01:00
#[cfg(test)]
pub fn test_nodes(&self) -> &[NodeDescriptor] {
self.nodes()
}
}