This commit is contained in:
2026-01-12 22:24:07 -06:00
parent 894dc2f3e0
commit 5899992240
43 changed files with 871 additions and 810 deletions

View File

@@ -1,39 +1,6 @@
from collections.abc import Iterator
from typing import cast
from pathlib import Path
from docker_compose.cfg import CFG_ROOT, TRAEFIK_PATH
from docker_compose.compose.net_yaml import NetArgsYaml
from docker_compose.compose.rendered import Rendered
from docker_compose.util.Ts import TypeYamlCompatibleDict
from docker_compose.util.yaml_util import to_yaml
def load_all() -> Iterator[Rendered]:
for path in CFG_ROOT.iterdir():
if path.stem.startswith("."):
continue
if path == TRAEFIK_PATH:
continue
yield from Rendered.from_path(path)
def render_all() -> Iterator[str]:
for rendered in load_all():
rendered()
yield from rendered.proxy_nets
if __name__ == "__main__":
# renders = render_all()
nets = frozenset(render_all())
traefik = next(Rendered.from_path(TRAEFIK_PATH))
data = traefik.as_dict
data["networks"] = {net: NetArgsYaml(name=f"{net}_proxy") for net in nets}
cfg = traefik.cfg
data["services"]["traefik"]["networks"] = nets
data = cast(TypeYamlCompatibleDict, cast(object, data))
template = cfg.pre_render(to_yaml(data))
cfg.src_paths.compose_file.write(template)
cfg.dest_paths.compose_file.write(cfg.render(template))
traefik.write_bind_vols()
traefik.mk_bind_vols()
ROOT = Path("/nas")
TEMPLATE_ROOT = ROOT.joinpath("templates")
APP_ROOT = ROOT.joinpath("apps")
TRAEFIK_PATH = TEMPLATE_ROOT.joinpath("traefik")