mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-11 13:17:07 +00:00
The router now prints one line before it routes:
=== compose-deploy: mode=reinstall apps=svc-ai-litellm bundles= variant= \
full_cycle=false purge=false disable= playwright_keep=
Rewriting a deploy command is where its other arguments get lost. Switching
apps= from svc-ai-agent-broker to svc-ai-litellm dropped
disable="matomo,dashboard,prometheus,email,css" and
INFINITO_PLAYWRIGHT_KEEP=true in the same edit, after three deploys that had
carried both, and the run went on to deploy matomo and dashboard. That matters
beyond the wasted minutes: test-e2e-cli runs in the destructor stage, after
every role, so the providers are paid for before the CLI test the deploy exists
for even starts.
main.sh is the single entry every compose-deploy passes through, so the line
cannot be skipped and does not depend on remembering to look. It reads the
knobs and exports nothing; 8e293bd921 is on record for what happens when these
same variables reach places that persist them.
compose.md loses the checklist this first carried. The rules were already
stated twice in that file and a third statement is not what was missing; the
misses were not caused by not knowing them. It keeps the two facts that carry
information: why dropping disable= delays the evidence rather than merely
costing resources, and that full_cycle=true is the expensive form rather than
the complete one, since it adds pass 2, credential rotation and the recovery
drill while the CLI tests gate on RUNTIME instead.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Local Deploy Scripts
This directory holds the executable local deploy flows under scripts/tests/deploy/local/deploy/.
For other local helpers, use ../README.md. For the canonical Make target index that invokes these helpers, see make.md.
Prerequisites
- Run commands from the repository root.
- Docker and Docker Compose are available locally.
jqis installed for the app-discovery step inapps/initialize/all.sh.- If you run scripts directly, load the defaults with
source scripts/meta/env/all.sh.
Naming
The apps/ subtree is split by verb (the user intent) and scope:
initialize/creates or refreshes the inventory; existing entity state is kept.reinstall/recreates the inventory and purges existing entities first.update/reuses the already-initialized inventory.all.shcovers every discovered application;selection.shcovers one or more apps passed viaapps(or a positional argument).
The bundles/ subtree mirrors the same axes for inventory bundles (fresh.sh ≈ initialize, update.sh ≈ update).
The container/ subtree holds the in-container halves invoked by the host wrappers and follows the same verb/scope layout; see container/.
Entry Points
| Entry point | What it does | Key inputs | Notes |
|---|---|---|---|
apps/initialize/all.sh |
Discovers apps, creates devices.yml, and deploys all discovered apps. |
INFINITO_DISTRO, INFINITO_INVENTORY_DIR |
Fresh all-app inventory path. |
apps/initialize/selection.sh <app-id> |
Creates devices.yml for one or more apps and deploys them. |
apps=<app-id> |
Init and deploy path for a specific app set. |
apps/reinstall/selection.sh |
Recreates devices.yml and deploys one or more apps twice with ASYNC_ENABLED=false and ASYNC_ENABLED=true. |
INFINITO_DISTRO, INFINITO_INVENTORY_DIR, apps |
Baseline and recovery path; purges entities first. |
apps/update/all.sh |
Deploys every app from an existing inventory. | INFINITO_DISTRO, INFINITO_INVENTORY_DIR |
Requires ${INFINITO_INVENTORY_DIR}/devices.yml and .password. |
apps/update/selection.sh |
Runs a targeted infinito administration deploy dedicated for one or more apps. |
apps, INFINITO_CONTAINER, INFINITO_DEBUG, INFINITO_INVENTORY_DIR |
Reuses devices.yml. |