cli.administration.deploy.swarm package

Submodules

cli.administration.deploy.swarm.closure module

Closure for the swarm deploy CLI’s --id list.

Uses the same applications_if_group_and_all_deps dep-walker the runtime constructor consumes, so the CLI-side closure and the constructor’s in-play role set stay in sync without duplicated meta-walking logic.

cli.administration.deploy.swarm.closure.inventory_role_groups(inventory_path: str, roles_dir: str | Path | None = None) → list[str]

Inventory groups whose name matches a directory under roles/.

cli.administration.deploy.swarm.closure.is_swarm_inventory(inventory_path: str) → bool
cli.administration.deploy.swarm.closure.swarm_deploy_targets(operator_ids: list[str] | None, inventory_path: str, roles_dir: str | Path | None = None) → list[str]

Effective --id list: seed ∪ dep-walk(seed) ∪ default-placement safety net.

Seed is operator_ids if given, else every inventory role group. Operator/inventory entries keep their original order; dep-walk additions are appended in alpha order so reruns produce stable diffs.

cli.administration.deploy.swarm.closure.swarm_infra_closure(inventory_path: str) → list[str]

Inventory-present roles with placement: manager.

Safety net for shared infra (svc-registry-cache, …) that no application’s meta/services.yml explicitly depends on.

cli.administration.deploy.swarm.command module

Swarm-aware deploy CLI command.

Re-uses dedicated.command.parse_args verbatim, then rewrites args.id via the swarm closure between parse and dispatch.

cli.administration.deploy.swarm.command.main(argv: list[str] | None = None) → int

Module contents

cli.administration.deploy.swarm.main(argv: list[str] | None = None) → int