Skip to content

Ship a pdn-app.yaml package manifest - #148

Merged
M0LTE merged 1 commit into
masterfrom
pdn-app-manifest
Jun 11, 2026
Merged

Ship a pdn-app.yaml package manifest#148
M0LTE merged 1 commit into
masterfrom
pdn-app-manifest

Conversation

@M0LTE

@M0LTE M0LTE commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

The packet.net node (pdn) has an app-package model: an app ships a directory containing a pdn-app.yaml manifest authored by the app itself, pdn discovers it under well-known roots, and the node owner flips it on — at which point pdn starts and supervises the daemon, injects the manifest's environment (DAPPS speaks RHPv2 to the local node), and reverse-proxies the loopback web UI under /apps/dapps/ with a launcher tile. The model is specified in m0lte/packet.net docs/app-packages.md; pdn never special-cases an app id, and its build fetches only this repo's published release binaries (sha256-pinned), never the source.

This adds the DAPPS manifest at the repo root. pdn's deb currently carries an interim copy; once a dapps release workflow attaches this file as a release asset next to the dapps-linux-* binaries, pdn can fetch manifest + binary together from one pinned release and drop its copy.

🤖 Generated with Claude Code

The app-authored manifest for the packet.net node (pdn) app-package model: pdn discovers the package directory, the node owner enables it, and pdn supervises the daemon (RHPv2 bearer to the local node, loopback web UI reverse-proxied at /apps/dapps/). pdn's deb currently stages this manifest from an interim copy alongside the pinned release binary; once a dapps release attaches this file as an asset, pdn can fetch manifest + binary together from one release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
M0LTE added a commit to packet-net/packet.net that referenced this pull request Jun 11, 2026
… package, public interfaces only (#380)

* Slice 5b: bundle DAPPS via its published release artifact

packaging/dapps/pdn-app.yaml (interim — moves upstream once a dapps release ships it; packet-net/dapps#148 open): service runs the staged release binary with RHPv2-bearer first-start env seeding (DAPPS_NODE_BEARER=rhpv2, loopback web on 18080, MQTT off 1883), ui proxied at /apps/dapps/, capabilities [network, web]. The owner supplies DAPPS_CALLSIGN via the apps: override before first start.

build-deb.sh stages it under /usr/share/packetnet/apps/dapps from the m0lte/dapps v0.33.12 release asset — public interfaces only, sha256-pinned per RID, cached in artifacts/cache; a hash-mismatched download fails the build, a network-less build with no valid cache skips the dapps package with a warning (DAPPS is bundled, not load-bearing).

ShippedManifestsTests now parses the dapps manifest (blocks, env map, ASPNETCORE_URLS↔ui.upstream agreement, version↔dapps_version pin) and the catalog discovery test covers all three shipped packages.

[skip-plan] (the orchestrator owns the docs/app-packages.md + plan.md amendments for this slice)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* plan.md §17: Slice 5b entry

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Tom M0LTE <tom@fann.ing>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@M0LTE
M0LTE merged commit 299c874 into master Jun 11, 2026
4 checks passed
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