mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-10 04:36:40 +00:00
`roles/` set as inline code reads as a literal path, yet the directory holds an index page the build resolves. Writing it as a link costs nothing and gives the reader the page; leaving it as code hides it, which is how this branch degraded six working references in one pass. The lint strips markdown links from a line before scanning it, or it would report the code span inside a finished link, and it skips fenced blocks. It reads the index filenames from the same place the link lint does. Two false-positive classes came out of the first run and shaped the rule. A span of nothing but dots and slashes is a path word, not a path: '/' names a filesystem in a table of mount points and '../' names the traversal an argument must not perform. An absolute span is skipped because this repository writes Keycloak group paths that way, and /roles/web-app-bluesky is a group, not a folder. 35 spans across 12 files become links, and the documentation build resolves every one of them. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
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. |