sync
This commit is contained in:
46
src/main.py
46
src/main.py
@@ -1,23 +1,33 @@
|
||||
from typing import Any, Generator
|
||||
from collections.abc import Iterable, Iterator
|
||||
|
||||
from cfg import CFG_ROOT
|
||||
from cfg.factory import cfg_data_factory
|
||||
from compose.factory import compose_factory, traefik_compose_factory
|
||||
from rendered.entity import Rendered
|
||||
from rendered.factory import rendered_factory
|
||||
from rendered.util import write
|
||||
from src_path.entity import src_paths_factory
|
||||
from template.factory import template_factory
|
||||
|
||||
|
||||
from collections.abc import Iterator
|
||||
from Ts import TraefikComposeDict, TraefikNet, TraefikNetName
|
||||
from compose import gen_compose
|
||||
def load_all() -> Iterable[Rendered]:
|
||||
for dir in CFG_ROOT.iterdir():
|
||||
paths = src_paths_factory(dir)
|
||||
cfg = cfg_data_factory(paths)
|
||||
parsed = compose_factory(cfg)
|
||||
for template in template_factory(parsed):
|
||||
yield rendered_factory(template)
|
||||
|
||||
|
||||
def render_all() -> Iterator[Rendered]:
|
||||
for rendered in load_all():
|
||||
write(rendered)
|
||||
yield rendered
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
paths: tuple[str, ...] = ("gitea", "opencloud", "jellyfin", "immich")
|
||||
|
||||
def sub() -> Iterator[tuple[str, str]]:
|
||||
for path in paths:
|
||||
yield from gen_compose(path)
|
||||
|
||||
# yield name, TraefikNetName(name=proxy)
|
||||
|
||||
networks: TraefikNet = dict(sub())
|
||||
traefik = ComposeBuild("traefik").build()
|
||||
traefik_compose = TraefikComposeDict(
|
||||
name="traefik",
|
||||
networks=networks,
|
||||
)
|
||||
renders = render_all()
|
||||
traefik = traefik_compose_factory(renders)
|
||||
for template in template_factory(traefik):
|
||||
rendered = rendered_factory(template)
|
||||
write(rendered)
|
||||
|
||||
Reference in New Issue
Block a user