Skip to content

chore(v1.2/P14): generic-host rename — Pi as one example, not the default#5

Merged
DGPisces merged 1 commit into
mainfrom
chore/v1.2-generic-host-rename
May 19, 2026
Merged

chore(v1.2/P14): generic-host rename — Pi as one example, not the default#5
DGPisces merged 1 commit into
mainfrom
chore/v1.2-generic-host-rename

Conversation

@DGPisces
Copy link
Copy Markdown
Owner

Summary

Phase 14 of v1.2 (privacy / OSS hardening). The orchestrator now sells itself
as a Linux-host deploy with Raspberry Pi positioned as one example target,
not the assumed default.

Renames

Old path New path
infra/pi-orchestrator/ infra/orchestrator/
install/pi-install.sh install/install.sh
docs/deploy/pi.md docs/deploy/linux.md

Behaviour changes

  • install/install.sh is the canonical entry point and advertises itself
    as the Linux installer (tested on Debian 12, Ubuntu 22.04, Raspberry Pi
    OS Bookworm).
  • infra/orchestrator/setup.sh and deploy.sh accept TARGET_HOST /
    TARGET_USER as primary env vars; the legacy PI_HOST / PI_USER
    names are still honoured as fallbacks so existing operator muscle
    memory keeps working.
  • docs/deploy/linux.md reads as a generic Linux runbook. The
    Raspberry-Pi-specific BOM, OS imaging, and first-boot SSH steps are
    collected into one "Hardware example: Raspberry Pi" subsection at the
    bottom that the main text links to.
  • No production source code was touched.

ROADMAP success criteria

# Criterion (verbatim) Status
1 infra/pi-orchestrator/ is renamed to infra/orchestrator/; all internal references (scripts, systemd units, docs) are updated; no broken paths exist. git grep -nIE "pi-orchestrator|pi-install|deploy/pi\.md" returns zero hits
2 install/install.sh is the generic Linux entry point; Pi-specific steps are optional (flag or separate example script); install/pi-install.sh is no longer the documented default. install/install.sh is the only documented installer; banner reads "Linux Installer"; no raspi-config-style commands
3 docs/deploy/pi.md is renamed to docs/deploy/linux.md; Pi appears as a hardware sub-section; CONTRIBUTING and README cross-references are updated. ✅ "Hardware example: Raspberry Pi" subsection at the tail; CONTRIBUTING + README × 2 + architecture all point at docs/deploy/linux.md
4 README × 2, CONTRIBUTING, docs/architecture.md, infra/README.md, SECURITY.md, scripts/README.md, CHANGELOG.md, and .github/ISSUE_TEMPLATE/bug_report.yml all use "any Linux host" as the default; "Raspberry Pi" appears only as an example. ✅ — SECURITY.md was removed in P13 so the original list is implicitly minus that file
5 install/install.sh on a fresh Debian-12 or Ubuntu-22.04 target installs only generic Linux packages (no raspi-config-style commands); the script passes bash -n and shellcheck clean. ✅ all three renamed shell scripts pass bash -n and shellcheck --severity=warning clean; installer only invokes apt-get install python3.11 python3.11-venv python3-pip build-essential rsync (already generic — the prior pi-install.sh never used Pi-specific commands either)

Test plan

  • git grep -nIE "pi-orchestrator|pi-install|deploy/pi\.md" — zero hits.
  • shellcheck --severity=warning on the three renamed scripts — clean.
  • bash -n on the three renamed scripts — clean.
  • pytest tests/test_app_startup_guards.py tests/test_pipeline.py — green.
  • CI must pass on this PR (backend / frontend / playwright-loopback / ai-merchant).

Phase 14 of v1.2 (privacy / OSS hardening). The orchestrator now sells
itself as a Linux-host deploy with Raspberry Pi positioned as one
example target rather than the assumed default.

Directory + file renames (git tracks as renames)
- infra/pi-orchestrator/ -> infra/orchestrator/
- install/pi-install.sh  -> install/install.sh
- docs/deploy/pi.md      -> docs/deploy/linux.md

Script reframing
- install/install.sh: banner becomes "VocalizeAI Linux Installer";
  docstring lists Debian 12 / Ubuntu 22.04 / Raspberry Pi OS as tested
  targets; "Pi install complete" -> "Install complete".
- infra/orchestrator/setup.sh, deploy.sh: rename `PI_HOST`/`PI_USER`
  args to `TARGET_HOST`/`TARGET_USER` (legacy PI_HOST / PI_USER still
  accepted as fallback env vars so existing operator muscle memory
  keeps working); rewrite banners + log lines + manual-steps copy to
  refer to "the remote host" instead of "the Pi"; both scripts pass
  `bash -n` and `shellcheck --severity=warning` clean.
- infra/orchestrator/cloudflared-config.yml: header comments drop
  "on Pi" qualifier.

Doc reframing (criterion #4 surfaces)
- README.md, README.zh-CN.md: status line, file-tree comment, and
  cross-reference to deploy/linux.md all reframed to "Linux host
  (Raspberry Pi is one example target)".
- CONTRIBUTING.md: reference to "live Pi orchestrator" becomes
  "Linux-host orchestrator".
- docs/architecture.md: "Pi deployment assets" -> "Linux deployment
  assets"; Further Reading entry updated.
- docs/deploy/local.md: env-table comments referring to "Pi" become
  generic ("orchestrator service port", "Linux-host orchestrator").
- docs/deploy/linux.md: full rewrite — intro, BOM, OS prep, Tailscale,
  Clone-and-Install, Environment Config, Cloudflare Tunnel, systemd,
  troubleshooting sections all reframed to "any modern Linux host
  with systemd"; the Pi-specific BOM + imaging + first-boot
  instructions are moved into a single
  "Hardware example: Raspberry Pi" subsection at the bottom.
- infra/README.md: orchestrator entry reframed.
- scripts/README.md: stability-driver description reframed.
- CHANGELOG.md: v1.0.0 bullet reframed.
- .github/ISSUE_TEMPLATE/bug_report.yml: OS examples include Debian 12;
  "Pi production" deployment mode becomes "Linux-host production";
  journalctl hint refers to "a systemd-installed host" rather than Pi.

Verification
- `git grep -nIE "pi-orchestrator|pi-install|deploy/pi\.md" -- .`
  returns zero hits — all stale paths gone.
- `shellcheck --severity=warning` clean on all three renamed shell
  scripts; `bash -n` clean too.
- `pytest tests/test_app_startup_guards.py tests/test_pipeline.py`
  still pass (no production code touched; only path strings + docs).

Phase: v1.2 / 14-generic-host-rename
Requirements: SELF-LINUX-01..05
@DGPisces DGPisces merged commit 1cb5cbf into main May 19, 2026
4 checks passed
@DGPisces DGPisces deleted the chore/v1.2-generic-host-rename branch May 19, 2026 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant