mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
- Introduce cli.deploy.development build subcommand as single build SPOT - Remove legacy compose.build_infinito implementation - Make up use build-missing logic via build handler - Add --when-down flag to up (skip startup if stack already running) - Simplify restart/run to reuse up handler - Ensure tests use up --when-down to avoid stack interference - Make test targets depend on build-missing https://chatgpt.com/share/696fd3c9-99f0-800f-a0ab-33a91058419a
48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
import argparse
|
|
from typing import Optional
|
|
|
|
from . import build as cmd_build
|
|
from . import deploy as cmd_deploy
|
|
from . import down as cmd_down
|
|
from . import exec as cmd_exec
|
|
from . import init as cmd_init
|
|
from . import logs as cmd_logs
|
|
from . import restart as cmd_restart
|
|
from . import run as cmd_run
|
|
from . import stop as cmd_stop
|
|
from . import up as cmd_up
|
|
|
|
|
|
def build_parser() -> argparse.ArgumentParser:
|
|
parser = argparse.ArgumentParser(
|
|
prog="python -m cli.deploy.development",
|
|
description="Compose-based development deploy orchestrator for Infinito.Nexus.",
|
|
)
|
|
sub = parser.add_subparsers(dest="subcommand", required=True)
|
|
|
|
cmd_up.add_parser(sub)
|
|
cmd_down.add_parser(sub)
|
|
cmd_stop.add_parser(sub)
|
|
cmd_restart.add_parser(sub)
|
|
cmd_init.add_parser(sub)
|
|
cmd_deploy.add_parser(sub)
|
|
cmd_run.add_parser(sub)
|
|
cmd_exec.add_parser(sub)
|
|
cmd_logs.add_parser(sub)
|
|
cmd_build.add_parser(sub)
|
|
|
|
return parser
|
|
|
|
|
|
def main(argv: Optional[list[str]] = None) -> int:
|
|
parser = build_parser()
|
|
args = parser.parse_args(argv)
|
|
|
|
fn = getattr(args, "_handler", None)
|
|
if fn is None:
|
|
parser.error("No subcommand handler registered") # pragma: no cover
|
|
|
|
return int(fn(args))
|