pub struct RbtProjectConfig {
pub name: String,
pub version: String,
pub models_dir: PathBuf,
pub target_path: PathBuf,
pub layers: HashMap<String, LayerConfig>,
pub materialize: MaterializeConfig,
pub scan: ScanConfig,
pub roots: HashMap<String, String>,
}Expand description
Project-wide rbt_project.yml configuration schema.
Fields§
§name: String§version: String§models_dir: PathBuf§target_path: PathBuf§layers: HashMap<String, LayerConfig>§materialize: MaterializeConfigOptional; defaults to lake-as-truth Parquet re-read for ref().
scan: ScanConfigOptional bronze scan limits (e.g. protobuf payload cap).
roots: HashMap<String, String>Named absolute (or relative) roots for multi-root lakes.
Referenced in paths as $name or ${name} (e.g. $nonprod_lake/lz/runs).
Implementations§
Source§impl RbtProjectConfig
impl RbtProjectConfig
Sourcepub fn load(project_dir: &Path) -> Result<Self>
pub fn load(project_dir: &Path) -> Result<Self>
Loads rbt_project.yml from project directory or returns default configuration.
Sourcepub fn resolve_path(
&self,
project_dir: &Path,
configured: &str,
) -> Result<PathBuf>
pub fn resolve_path( &self, project_dir: &Path, configured: &str, ) -> Result<PathBuf>
Resolve a configured path (absolute, relative, or $root/...) against the project.
Sourcepub fn resolve_layer_target_dir(
&self,
project_dir: &Path,
layer: ModelLayer,
) -> Result<PathBuf>
pub fn resolve_layer_target_dir( &self, project_dir: &Path, layer: ModelLayer, ) -> Result<PathBuf>
Layer output directory (file parent for flat parquet, or table root parent).
Sourcepub fn resolve_model_target_path(
&self,
project_dir: &Path,
model_name: &str,
layer: ModelLayer,
ext: &str,
) -> Result<PathBuf>
pub fn resolve_model_target_path( &self, project_dir: &Path, model_name: &str, layer: ModelLayer, ext: &str, ) -> Result<PathBuf>
Resolves destination output file path for a model based on its layer configuration.
Supports absolute target_path and $root templates — never nests an absolute
lake path under project_dir.
Sourcepub fn resolve_model_target_dir(
&self,
project_dir: &Path,
model_name: &str,
layer: ModelLayer,
) -> Result<PathBuf>
pub fn resolve_model_target_dir( &self, project_dir: &Path, model_name: &str, layer: ModelLayer, ) -> Result<PathBuf>
Directory target for Iceberg-style table roots (no file extension).
Trait Implementations§
Source§impl Clone for RbtProjectConfig
impl Clone for RbtProjectConfig
Source§fn clone(&self) -> RbtProjectConfig
fn clone(&self) -> RbtProjectConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RbtProjectConfig
impl Debug for RbtProjectConfig
Source§impl Default for RbtProjectConfig
impl Default for RbtProjectConfig
Source§impl<'de> Deserialize<'de> for RbtProjectConfig
impl<'de> Deserialize<'de> for RbtProjectConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RbtProjectConfig
Source§impl PartialEq for RbtProjectConfig
impl PartialEq for RbtProjectConfig
Source§impl Serialize for RbtProjectConfig
impl Serialize for RbtProjectConfig
impl StructuralPartialEq for RbtProjectConfig
Auto Trait Implementations§
impl Freeze for RbtProjectConfig
impl RefUnwindSafe for RbtProjectConfig
impl Send for RbtProjectConfig
impl Sync for RbtProjectConfig
impl Unpin for RbtProjectConfig
impl UnsafeUnpin for RbtProjectConfig
impl UnwindSafe for RbtProjectConfig
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for T
impl<T> Downcast for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more