pub struct ProjectsSurfaces<'a> {
pub gateway: &'a dyn ProjectGateway,
pub host: &'a dyn ProjectHost,
pub tree: Option<&'a dyn TreeReader>,
pub apply_host: Option<&'a dyn ApplyHost>,
pub deploy: Option<&'a dyn DeployApi>,
pub tag_delete: TagDeleteSurface<'a>,
}Expand description
The two surfaces a project deploy talks to: the gateway REST API and the
gateway host’s filesystem (the .git probe, the release record read). The
host surface is read-only; the record is written through the writer
deploy_projects_run builds for the master node.
Fields§
§gateway: &'a dyn ProjectGatewayThe gateway project calls.
host: &'a dyn ProjectHostThe host reads.
tree: Option<&'a dyn TreeReader>The master’s tree reader (26-10): the tag-group units, the apply
journal and, on a pair, the mode collection’s tag type folders. The
CLI builds it for a project that lists tag_providers; a check that
needs it and finds None is an internal error.
apply_host: Option<&'a dyn ApplyHost>The master’s apply host (26-10): the one writer of the tag-group
units, through the file engine’s commit and restore. A test seam: when
None, deploy_projects_run builds it from the target for a plan
that writes groups, so no CLI surface names the write half.
deploy: Option<&'a dyn DeployApi>The master’s deploy API (26-10): the scan-lock and the config scan around the tag-group commit.
tag_delete: TagDeleteSurface<'a>The master’s tagDelete route (26-19, D-13 item 9): what a rollback removes the nodes a failed run created with. The CLI builds it from the master node’s profile only; the backup is never given one.