Skip to content

catalogue: publish Smol Machines (io.pilot.smolmachines v1.2.0) [needs re-sign]#319

Merged
TeoSlayer merged 2 commits into
mainfrom
catalogue/add-smolmachines
Jun 22, 2026
Merged

catalogue: publish Smol Machines (io.pilot.smolmachines v1.2.0) [needs re-sign]#319
TeoSlayer merged 2 commits into
mainfrom
catalogue/add-smolmachines

Conversation

@Alexgodoroja

Copy link
Copy Markdown
Collaborator

Publish Smol Machines (io.pilot.smolmachines v1.2.0)

Adds the catalogue entry + rich metadata that lists Smol Machines (the smolvm
microVM engine) in the app store. Bundles are hosted in the Pilot R2 artifact
registry
(pilot-artifacts-prod); all four platforms (darwin/linux × amd64/arm64).

  • catalogue/catalogue.json — entry appended (existing 3 apps untouched). Short
    description → pilotctl appstore list.
  • catalogue/apps/io.pilot.smolmachines/metadata.json — long description_md
    pilotctl appstore view; passthrough smolmachines.exec with the full smolvm
    command surface baked into its help (no enumerated methods).

Verified locally end-to-end: catalogue → pilotctl appstore install io.pilot.smolmachines
→ adapter stages the binary from R2 → pilotctl appstore call ... smolmachines.exec
boots a real Alpine microVM.

⛔ Blocking: re-sign before merge (needs the release key)

catalogue.json changed, so catalogue/catalogue.json.sig is now stale. pilotctl
and the daemon verify the detached signature against the embedded catalogue
public key (internal/catalogtrust), so an unsigned/stale catalogue is rejected on
every host. The private key is not in the repo (confirmed — it's the
CATALOG_SIGN_KEY release secret / offline key). A key-holder must regenerate the
signature before merge:

# with the release private key (hex-encoded 64-byte ed25519, the CATALOG_SIGN_KEY value)
pilotctl appstore sign-catalogue --key /secure/path/catalog-signing.key catalogue/catalogue.json
git add catalogue/catalogue.json.sig && git commit -m "catalogue: re-sign" && git push

(Or drive it through the app-template publish-on-merge automation, which signs with
the CATALOG_SIGN_KEY secret.)

Depends on

The app only installs/runs once the daemon is on the proc.exec version with the
install-spec + trust-anchor wiring: app-store#24, pilotprotocol#317, pilotprotocol#318.
The listing itself (this PR) is independent.

🤖 Generated with Claude Code

Publishes Smol Machines (the smolvm microVM engine) to the app store:
- catalogue entry with per-platform bundles hosted in the Pilot R2 artifact
  registry (pilot-artifacts-prod), and the rich metadata.json (long
  description_md, methods, sizes).
- short description → `appstore list`; long description_md → `appstore view`.

⚠️ catalogue.json changed, so catalogue/catalogue.json.sig MUST be regenerated
with the release CATALOG_SIGN_KEY before merge (the embedded catalogtrust pubkey
check rejects an unsigned/stale catalogue on every host). The private key is not
committed — only the release pipeline / key-holder can sign.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@TeoSlayer TeoSlayer marked this pull request as ready for review June 22, 2026 22:06
@TeoSlayer TeoSlayer self-requested a review as a code owner June 22, 2026 22:06
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@TeoSlayer TeoSlayer merged commit a53ebaa into main Jun 22, 2026
13 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.

2 participants