satmachineadmin becomes the bitSpire operator dashboard #48
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The plan is to grow satmachineadmin into the operator dashboard for bitSpire fleets — DCA distribution remains a core feature, but the extension picks up fleet management, branding distribution, and operator-facing telemetry on top.
Why satmachineadmin
bitspire.py:parse_settlement)Machinemodel withmachine_npub(the per-ATM identity); the operator/machine relationship is the right home for cross-cutting fleet configCLAUDE.mdondev— no new HTTP path to the kioskScope
Operator identity wiring
dca_machinesrow links to one operator.Branding panel (the immediate use case)
logo.png, picktheme(one of bitSpire's 6 built-ins orcustom), settitle, optionally setcustom_colors.branding.jsonfrom #47.dtag:bitspire-branding["p", "<atm-pubkey>"]per machine in the operator's fleet (or rely on author-pubkey filter on the ATM side)ATM-side subscription
BrandingSourceinterface specified in #47 — Nostr event source wins over local file.Future capabilities this unlocks (out of scope for this issue)
dtag includes machine pubkey for per-machine branding)Open questions
provision-atm.sh; (b) ATM publishes its own pubkey, operator's satmachineadmin instance picks it up and the ATM later subscribes to anyone who hasp-tagged it. (a) is concrete and ships now; (b) is the prettier flow.@bitSpire/lnbitspackage on dev? Or a new@bitSpire/branding-schemashared with satmachineadmin? Probably the former — satmachineadmin can just JSON-validate against an inline shape.Acceptance (this issue is a meta-tracker; concrete sub-tasks split as we go)
BrandingSourceinterface has a Nostr-event-source implementationdocs/nostr-patterns/(in the webapp repo's pattern reference, since branding distribution becomes a reusable Nostr-comm pattern)Refs: #47 (the local-file half of branding),
aiolabs/satmachineadmin/bitspire.py(existing integration point).