pub struct ProjectFile {
pub schema_version: SchemaVersion,
pub project: String,
pub environments: Vec<String>,
pub tag_providers: Vec<String>,
}Expand description
The parsed deploy/project.yaml (D-08, V9).
Fields§
§schema_version: SchemaVersionAlways 1; any other value is refused by SchemaVersion.
project: StringThe project’s name on the gateway. project.json holds only a display
title, so the name cannot come from there. It is a path segment on
the gateway host, so it must be one safe component on both systems.
environments: Vec<String>The environments (targets/<ENV>.yaml) this project deploys to.
tag_providers: Vec<String>The tag providers this project owns (Phase 26, D-04): each one is read
from tags/<P>/ in the repo and deployed with the project in one run.
Providers not listed are never touched. Absent means none. A build
older than Phase 26 refuses the key (deny_unknown_fields), which
fails closed.
Implementations§
Source§impl ProjectFile
impl ProjectFile
Sourcepub fn parse(file: &str, bytes: &[u8]) -> Result<ProjectFile, CoreError>
pub fn parse(file: &str, bytes: &[u8]) -> Result<ProjectFile, CoreError>
Parse and validate bytes (labelled file in errors). Every semantic
defect is collected into ONE deploy_tree_invalid.
Sourcepub fn require_env(&self, env: &str) -> Result<(), CoreError>
pub fn require_env(&self, env: &str) -> Result<(), CoreError>
Refuse an environment the file does not list (deploy_tree_invalid
naming PROJECT_FILE_REL).