Files
computer-playbook/cli/deploy/development/logs.py
T

33 lines
953 B
Python

from __future__ import annotations
import argparse
import os
from .common import make_compose
def add_parser(sub: argparse._SubParsersAction) -> None:
p = sub.add_parser(
"logs", help="Show docker compose logs for the development stack."
)
p.add_argument(
"--distro",
default=os.environ.get("INFINITO_DISTRO", "arch"),
choices=["arch", "debian", "ubuntu", "fedora", "centos"],
help="Target distro (compose env INFINITO_DISTRO).",
)
p.add_argument("--tail", type=int, default=200, help="Tail N lines (default: 200).")
p.add_argument("-f", "--follow", action="store_true", help="Follow logs.")
p.set_defaults(_handler=handler)
def handler(args: argparse.Namespace) -> int:
compose = make_compose(distro=args.distro)
cmd = ["logs", f"--tail={int(args.tail)}"]
if args.follow:
cmd.append("-f")
r = compose.run(cmd, check=False)
return int(r.returncode)