Files
computer-playbook/scripts/tests/deploy/local/deploy/apps
kevinveenbirkenbachandClaude Opus 5 b291cb7620 feat(docs): report a code span that names a linkable directory
`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>
2026-09-25 20:09:41 +02:00
..

Apps Deploy Flows 📦

This directory holds the local deploy flows for one or more applications. For the higher-level overview, prerequisites, and naming rationale, see README.md.

Layout 🗂️

The subtree splits by user intent (the verb) and scope:

Verb folder Inventory Stack cycle Entity purge
initialize/ fresh no no
reinstall/ fresh yes (down + up) yes (shared entities)
update/ reuse no no

Each verb folder MUST contain all.sh for every discovered application and MAY contain selection.sh for one or more apps passed via apps (or as a positional argument where supported).

Conventions 📐

  • The verb folder name expresses the deploy intent. The script name expresses the scope.
  • all.sh discovers applications on the host via scripts/meta/resolve/apps.sh and runs against the full list.
  • selection.sh requires the caller to supply the application set explicitly.
  • Stack state (containers, volumes) and the inventory directory stay on disk after every flow in this subtree.