Files
computer-playbook/cli/deploy/development/cli.py
T
kevinveenbirkenbach 4e0d09e773 refactor(dev-orchestrator): centralize image build and add up --when-down SPOT
- 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
2026-01-20 20:13:02 +01:00

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))