cli.deploy.dedicated package

Submodules

cli.deploy.dedicated.apps module

cli.deploy.dedicated.apps.validate_application_ids(inventory: str, app_ids: List[str]) None

Validate requested application IDs using ValidDeployId.

cli.deploy.dedicated.command module

cli.deploy.dedicated.command.build_parser() ArgumentParser
cli.deploy.dedicated.command.main(argv: List[str] | None = None) int

CLI entrypoint for python -m cli.deploy.dedicated.

argv is injectable for tests and avoids reliance on global sys.argv.

cli.deploy.dedicated.modes module

cli.deploy.dedicated.modes.add_dynamic_mode_args(parser: ArgumentParser, modes_meta: List[Dict[str, Any]]) Dict[str, Dict[str, Any]]

Add command-line args dynamically based on MODE_* metadata.

Returns a spec mapping MODE_NAME -> info used by build_modes_from_args().

cli.deploy.dedicated.modes.build_modes_from_args(spec: Dict[str, Dict[str, Any]], args_namespace: Namespace) Dict[str, Any]

Resolve CLI arguments into a MODE_* dictionary.

cli.deploy.dedicated.modes.load_modes_from_yaml(modes_yaml_path: str) List[Dict[str, Any]]

Load MODE_* definitions from a YAML-like key/value file.

Expected lines:

MODE_FOO: true # comment MODE_BAR: false # comment MODE_BAZ: null # comment

cli.deploy.dedicated.paths module

cli.deploy.dedicated.proc module

cli.deploy.dedicated.proc.run(cmd: List[str], *, cwd: str | None = None, check: bool = True) CompletedProcess

Run a command with stdout/stderr passthrough.

Note: Many repo commands (e.g. make) must run in the repo root so the Makefile is found.

cli.deploy.dedicated.proc.run_make(repo_root: str, *targets: str) None

Run make <targets…> from the repo root.

This prevents errors like:

make: *** No rule to make target ‘clean’. Stop.

cli.deploy.dedicated.runner module

cli.deploy.dedicated.runner.run_ansible_playbook(*, repo_root: str, cli_root: str, playbook_path: str, inventory_validator_path: str, inventory: str, modes: Dict[str, Any], limit: str | None = None, allowed_applications: List[str] | None = None, password_file: str | None = None, verbose: int = 0, skip_build: bool = False, logs: bool = False, diff: bool = False) None

Run ansible-playbook with the given parameters and execution modes.

Module contents

cli.deploy.dedicated.main(argv: List[str] | None = None) int

CLI entrypoint for python -m cli.deploy.dedicated.

argv is injectable for tests and avoids reliance on global sys.argv.