Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

bootstrap.sh

Blame
  • pupak.py 981 B
    #!/usr/bin/env python3
    """Entry-point file"""
    import logging
    import sys
    from pathlib import Path
    
    from build import ConfigBuilder
    from constants import APP_LOG_TAG
    from customlog import setup_logging
    from generator import Generator
    from rawconfig import RawConfig
    
    if __name__ == "__main__":
        # Bootstrapping
        setup_logging()
        logger = logging.getLogger(APP_LOG_TAG)
        logger.debug("Starting Pupák generator script.")
    
        if len(sys.argv) < 1 + 1:
            logger.error("Not enough CLI args.")
            logger.error("Usage: data_folder")
            exit(1)
    
        data_folder = Path(sys.argv[1])
    
        # Read service YAML files and preload templates
        raw = RawConfig(data_folder)
    
        # Fill YAML-jinja2 templates,
        # prepare the final data-model
        builder = ConfigBuilder(raw)
        builder.build()
    
        # print("Data scheme validation:")
        # cfg.validate()
        # print("Data scheme is VALID.")
    
        generator = Generator(data_folder, builder)
        generator.ignite()