Skip to content

Latest commit

 

History

History
50 lines (29 loc) · 3.38 KB

File metadata and controls

50 lines (29 loc) · 3.38 KB
graph LR
    Project_Configuration_Loader_Validator["Project Configuration Loader/Validator"]
    Project_Data_Models["Project Data Models"]
    Project_Initializer_Template_Renderer["Project Initializer/Template Renderer"]
    Project_Configuration_Loader_Validator -- "uses" --> Project_Data_Models
    Project_Initializer_Template_Renderer -- "may use" --> Project_Data_Models
Loading

CodeBoardingDemoContact

Details

The Project Configuration & Template Manager subsystem is crucial for initializing new charm projects and managing their metadata. It acts as the central hub for defining, validating, and applying project-specific configurations.

Project Configuration Loader/Validator

This component is responsible for reading, parsing, and validating charmcraft.yaml and metadata.yaml files against predefined schemas. It ensures that project configuration data adheres to expected formats and provides structured access to this data for other components.

Related Classes/Methods:

Project Data Models

This component defines the canonical data structures, typically using Pydantic models, for representing charm project metadata and configuration. It ensures type safety, consistency, and facilitates data validation across the application.

Related Classes/Methods:

Project Initializer/Template Renderer

Manages the end-to-end process of creating new charm projects from predefined templates. This includes copying template files, rendering dynamic content based on user input or project configuration, and setting up the initial project directory structure.

Related Classes/Methods: