3f8a3ea4b6
matilda-core: modelo declarativo (Host, Container, VHost, Inventory). matilda-config: renderiza Container→docker-compose/docker run y VHost→bloque server nginx (con TLS + redirección :80→:443). matilda-plan: reconciliación pura actual→deseado con acciones ordenadas por dependencia (contenedores antes que vhosts, removes en orden inverso). Demo CLI en apps/matilda. 29 tests. Funciones puras, cero Docker/SSH/disco. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
27 lines
1004 B
Rust
27 lines
1004 B
Rust
//! `matilda-core` — el modelo de dominio de administración de servidores.
|
|
//!
|
|
//! matilda administra servidores, sus contenedores Docker y los hosts
|
|
//! virtuales de proxy inverso. Este crate es la parte declarativa y
|
|
//! pura: describe *qué* debe existir, sin tocar Docker, SSH ni archivos.
|
|
//!
|
|
//! - [`host`] — [`Host`], un servidor administrado.
|
|
//! - [`container`] — [`Container`], la spec declarativa de un contenedor.
|
|
//! - [`vhost`] — [`VHost`], un host virtual de proxy inverso.
|
|
//! - [`inventory`] — [`Inventory`], el estado declarado completo.
|
|
//!
|
|
//! El renderizado de configuración vive en `matilda-config`; la
|
|
//! reconciliación deseado-vs-actual, en `matilda-plan`; el transporte
|
|
//! (SSH «Linker», agente «Ghost»), en capas superiores.
|
|
|
|
#![forbid(unsafe_code)]
|
|
|
|
pub mod container;
|
|
pub mod host;
|
|
pub mod inventory;
|
|
pub mod vhost;
|
|
|
|
pub use container::{Container, PortMap, RestartPolicy};
|
|
pub use host::Host;
|
|
pub use inventory::Inventory;
|
|
pub use vhost::{Upstream, VHost};
|