Conversation
…ut (#225) Move the on-device feeder install to a Filesystem Hierarchy Standard layout. All first-party payload now lives under `/opt/airplanes`: the versioned runtime overlay at `/opt/airplanes/current`, image-baked helpers (the recovery shim, the orchestrator trampoline, the /run-resize helper, the release-signing public key) at `/opt/airplanes/libexec`, and per-service state nested under `/var/lib/airplanes/…` and `/run/airplanes/…`. The install no longer writes into `/usr/bin` or `/usr/local/{lib,share}`. What remains in `/usr/local/bin` is a small set of guarded CLI launchers (`apl-feed`, `apl-wifi`, `apl-ssh`, `apl-aggregator`) plus `readsb`/`dump978-fa` operator shims; third-party tar1090/graphs1090 read-only data keeps its conventional `share` location. Decoders, wrappers, render-status, and the web-config payload are reached through `/opt/airplanes/current` rather than through symlinks squatting OS-owned trees. The release gates enforce this going forward: the manifest validator fails the build if any managed path lands back in `/usr/bin` or `/usr/local/{lib,share}/airplanes`, and the executable-bit gate now fails loudly instead of silently passing if the overlay prefix ever drifts out of sync with the manifest. This is a breaking change to the on-device layout — a feeder is reflashed rather than updated in place.
Advances `runtime-overlay/config-stable` to the FHS builds so the stable channel matches the `/opt/airplanes` layout the overlay produces: the webconfig pin moves to the `v0.4.0` release and the feed pin to feed's FHS commit. Both carry the FHS layout, so the stable overlay no longer mixes FHS and pre-FHS payloads. The advanced feed pin also ships the `airplanes-stats` units, which the overlay globs into the payload but the manifest never linked or enabled — so this adds their `managed_paths` symlinks and the timer to the enable list. That makes the stats push actually run (on both channels) and satisfies the unit-symmetry test. Closes #226.
…228) New feeder images never wrote the `/etc/airplanes/image-install` marker that the feed daemons check, so an image feeder was misdetected as a plain feed install: `IMAGE_INSTALL` stayed `0` and the baked-decoder tuning it gates was silently skipped. Stage 06 now bakes the marker alongside `release-channel` as a permanent `/etc` file — not overlay-delivered payload — so the flag survives overlay updates, rollbacks, and removal. The overlay smoke test asserts it.
The apl-wifi and apl-ssh helpers recently shipped with a stale library path that broke every Wi-Fi and SSH operation plus backup export on flashed devices, and no CI job noticed: the helpers' own unit suites override the library-dir env seam, and boot-smoke never invoked them. Add a boot-smoke probe that runs `apl-wifi list --json` and `apl-ssh status --json` on the booted image and requires exit 0 with parseable JSON on stdout — the exact failure mode was a sourcing error on stderr with empty stdout. Also corrects the validator path in CLAUDE.md.
Bumps the stable-channel webconfig pin to v0.5.0, which fixes the Wi-Fi/SSH helper library path (v0.4.0's helpers looked them up at the pre-FHS location, breaking the Wi-Fi panel, SSH toggle, and backup export on a stable build) and carries the Flightradar24 health/apply fixes and the save-confirmation UI. Also advances the feed pin to the current dev head so the stable overlay payload matches what the dev channel ships. Addresses #226.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The feeder stack now installs under the
/opt/airplanesFHS layout, delivered by the runtime overlay — feed scripts, the readsb/dump978 decoders, tar1090/graphs1090, and the on-device webconfig ship as overlay-managed files rather than being written across the root filesystem. A baked image-install marker lets the feed scripts detect overlay-image feeders, and the boot smoke test now catches broken Wi-Fi/SSH helper CLIs before an image ships.Bundles webconfig v0.5.0 and pins the feed client and decoder sources to their current versions.