Skip to content

nerdit v0.9.0

Choose a tag to compare

@lwi00 lwi00 released this 11 Oct 15:49

Nerdit v0.9.0 — local AI PaaS node.

Install

curl -fsSL https://get.nerdit.ai | sh
nerdit link NL-XXXX-XXXX

Pin this version with NERDIT_VERSION=0.9.0.

Assets

file platform
nerdit-0.9.0-linux-x86_64.tar.gz Linux x86_64 (glibc 2.35+)
nerdit-0.9.0-linux-arm64.tar.gz Linux arm64 (glibc 2.35+)
nerdit-0.9.0-macos-arm64.tar.gz macOS arm64 (Apple silicon)

SHA256SUMS covers the three tarballs; SHA256SUMS.sig is an
ECDSA P-256 signature over it, made with the key published below and as
the asset nerdit-release.pub.pem. The installer verifies both
before extracting. To check by hand:

sha256sum -c SHA256SUMS
openssl dgst -sha256 -verify nerdit-release.pub.pem \
  -signature SHA256SUMS.sig SHA256SUMS

Release public key

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErD99ocEK39T60IgnOpitYeNoHD+V
qwskFP+Z5xTkEFhI+zNwUBr06bBcVTzBH71xc472T0ZHRrr5aK6evs6oSg==
-----END PUBLIC KEY-----

Installer

The curl | sh installer for this tag has sha256 6ea6975ceee97e822253c61b03b79755e79898bde94b9835fb5b9e1fe8e55085.
To check what get.nerdit.ai served you:

curl -fsSL https://get.nerdit.ai -o install.sh
sha256sum install.sh

Changelog

Applications can receive webhooks. If your machine is linked to Nerdit Cloud,
the hosted side has to be updated before the machine: a 0.9.0 daemon behind an
older cloud release does not accept hooks on its hosted address.

Inbound webhooks

  • Webhook URLs for an application. A provider (Stripe, GitHub, Slack, any
    sender that signs with HMAC-SHA256, or an unsigned one) can POST to a deployed
    application through its hosted address. The machine verifies the signature
    against a secret you set (NERDIT_HOOK_<NAME>_SECRET) before the application
    sees a byte, then forwards the request to the path you chose. The application
    finds its own URL in NERDIT_HOOK_<NAME>_URL.
  • Three ways to declare one. nerdit hooks list|add|rm, a [hooks.<name>]
    section in a single-app nerdit.toml (applied on every deploy), or the
    list_hooks / add_hook / remove_hook MCP tools and REST operations
    (GET/POST /api/services/{name}/hooks,
    DELETE /api/services/{name}/hooks/{hook}). The secret itself goes through
    the usual secrets commands; it is never passed on the command line.
  • A stripe-webhook template in the store: a FastAPI app that declares
    [hooks.stripe], dedupes on the Stripe event id and records it only after
    handling. Set NERDIT_HOOK_STRIPE_SECRET after the first deploy, once Stripe
    shows the signing secret; deliveries are held until then. All templates now
    track nerdit-templates v1.2.0.

Also in this release

  • Setting a shared secret now also requires an unscoped token: a submitter
    token limited to one application or project is refused, since a shared value
    reaches every application on the machine.
  • Agents and the console can ask the machine for a provider's model list
    (POST /api/ai-gateway/providers/models, MCP list_ai_provider_models) with
    a key the machine already holds, so a model can be picked before an alias is
    created. The key never leaves the machine; the answer is model ids only.

Full history: CHANGELOG.md at tag v0.9.0 in the Nerdit source repository.

Source

Built from the public source tree at 6c17834f7f6271f5509e2c6809cde88eb335c026.
The release tag points at this commit. Build instructions are in packaging/README.md.