Feature: adsbexchange-stats: add new package#29424
Open
billmcilhargey wants to merge 1 commit into
Open
Conversation
ADSBexchange.com statistics uploader for OpenWrt. Periodically reads aircraft.json from readsb (via readsb-wiedehopf), aggregates per-aircraft RSSI and counts, and POSTs the result to https://adsbexchange.com identified by the station UUID stored at readsb.main.uuid -- shared with readsb's BEAST connectors so a single `readsb-uuid` configures both. Procd-supervised bash uploader with no compile step. Configuration is UCI-only (/etc/config/adsbexchange-stats); the station UUID is shared with readsb-wiedehopf via readsb.main.uuid so a single identity is used by the BEAST feed connector and this uploader. Logging goes to syslog under the `adsbexchange-stats` tag at user-selectable verbosity. Hard-depends on readsb-wiedehopf (PR openwrt#29411) for the shared UUID, the readsb-uuid CLI, and /usr/lib/readsb/functions.sh. Upstream: https://github.com/ADSBexchange/adsbexchange-stats pinned at commit 11647f27. Upstream license preserved as MIT; OpenWrt packaging files are GPL-2.0-only. Signed-off-by: Dr Bill Mcilhargey <contributor@mcilhargey.com>
636fcfa to
983abb9
Compare
Author
|
Marked as ready for review, I was waiting for the main one to be reviewed and approved first as I was not sure the process but in case this one was holding the main one up, I marked this as ready for review too Appreciate it again! |
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.
ADSBexchange.com statistics uploader for OpenWrt.
Periodically reads
aircraft.jsonfrom readsb (viareadsb-wiedehopf),aggregates per-aircraft RSSI and counts, and POSTs the result to
https://adsbexchange.com identified by the station UUID stored at
readsb.main.uuid-- shared with readsb's BEAST connectors so a singlereadsb-uuidconfigures both.📦 Package Details
Maintainer: @billmcilhargey
Description:
New leaf package
utils/adsbexchange-stats. Procd-supervised bashuploader that talks to ADSBexchange.com's per-station ranking endpoint.
Pure shell payload, no compile step. Configuration is UCI-only
(
/etc/config/adsbexchange-stats); the station UUID is shared withreadsb-wiedehopfviareadsb.main.uuidso a single identity is usedby the BEAST feed connector and this uploader. Logging goes to syslog
under the
adsbexchange-statstag at user-selectable verbosity.Files added:
utils/adsbexchange-stats/Makefilepostinst/prerm/postrmutils/adsbexchange-stats/files/adsbexchange-stats.configutils/adsbexchange-stats/files/adsbexchange-stats.initshowurl,info)utils/adsbexchange-stats/files/adsbexchange-stats.functions.shutils/adsbexchange-stats/files/adsbexchange-stats.json-status-helpers.shutils/adsbexchange-stats/patches/010-openwrt-paths.patchjson-status(paths, env file, scratch dir, perl-version gate, metrics)utils/adsbexchange-stats/README.mdUpstream: https://github.com/ADSBexchange/adsbexchange-stats pinned at
commit
11647f27de3eef51fb19bcb39f0dc0b8500a6671. Upstream licensepreserved as
MIT; OpenWrt packaging files areGPL-2.0-only.Dependency chain
This PR consumes three artifacts shipped by #29411:
readsb.main.uuid— shared station identityreadsb-uuidCLI — manages the UUID for both packages/usr/lib/readsb/functions.sh— providesreadsb_is_uuid(8-4-4-4-12 hex validator)DEPENDS:=+bash +jq +curl +coreutils-stat +readsb-wiedehopf🧪 Run Testing Details
openwrt-23.05branchgit-25.163.46318-26086b5, kernel 5.4.164)ipq60xx/genericBuild verification (snapshot SDK,
aarch64_cortex-a53):Runtime verification on the GL-AXT1800:
Tested behavior:
postinstauto-start path: withreadsb.main.uuidalready set → service starts; without UUID → banner printed, service stays stopped (verified both).service adsbexchange-stats {start,stop,restart,reload,status,enable,disable,showurl,info}— all return expected output.uci commit adsbexchange-statsand onuci commit readsb(UUID /write_jsonchanges propagate without manual restart).log_level0 / 1 / 2 / 3 — error-only / +summary / +per-cycle / +curl-v all observed inlogread.dns_cache=0(default) anddns_cache=1with a non-loopback resolver — both function;127.0.0.0/8resolver auto-disables the cache as documented.json_paths_overrideempty (derived fromreadsb.main.write_json=/var/run/readsb) and explicit override both resolve correctly; unsafe-token rejection logs atwarn.prerm/postrmclean removal:/var/run/adsbexchange-statscleared,/etc/config/adsbexchange-statspreserved (conffile),readsb.main.uuiduntouched.✅ Formalities
If your PR contains a patch:
git am(the patch only adds OpenWrt-specific defaults and an opt-in
$ADSBX_ENV_FILE source hook; both are no-ops when the env file is
unset, so the change is upstream-friendly).