Skip to main content

LAYOUT_DIR_SERVICOS

Constant LAYOUT_DIR_SERVICOS 

Source
pub const LAYOUT_DIR_SERVICOS: &str = "servicos";
Expand description

Canonical caixa-root-relative directory name housing every crate::CaixaKind::Servico caixa’s servicos/<nome>.computeunit.yaml per-CR ComputeUnit descriptor (and every :servicos ("servicos/foo.computeunit.yaml" …) per-entry source path the M0 :kind Servico typed slot admits). Peer of LAYOUT_DIR_LIB / LAYOUT_DIR_EXE on the sibling M0 per-CaixaKind on-disk-directory-name axes; see LAYOUT_DIR_LIB for the shared lift rationale.

crate::LayoutInvariants::verify joins root with this const to reconstruct the sandbox-root the crate::LayoutError::ServicoOutsideDir emission gates every declared :servicos entry against — a :servicos entry whose resolved path escapes root.join(LAYOUT_DIR_SERVICOS) surfaces ServicoOutsideDir(<path>) at feira build time rather than silently reaching outside the caixa’s sandbox at caixa_helm / caixa_flux render time or at the operator’s OCI-build step.

The servicos/ byte-shape is the Portuguese plural of the M0 :kind Servico discriminator (crate::CaixaKind::Servico / LAYOUT_MISSING_ENTRY_KIND_SERVICO, both "servico", singular) — the on-disk directory holds one-or-more ComputeUnit YAML descriptors per caixa, the discriminator names the caixa’s kind. The pin test layout_dir_servicos_is_distinct_from_layout_missing_entry_kind_servico makes the singular/plural split load-bearing so a future rebrand touching either axis without the other (a per-consumer disambiguation collapsing them, a hypothetical English-uniformity pass renaming "servicos""services") trips at build time.