sync
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user