Skip to content

nerdit v0.7.1

Choose a tag to compare

@lwi00 lwi00 released this 01 Oct 14:34

Nerdit v0.7.1 — local AI PaaS node.

Install

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

Pin this version with NERDIT_VERSION=0.7.1.

Assets

file platform
nerdit-0.7.1-linux-x86_64.tar.gz Linux x86_64 (glibc 2.35+)
nerdit-0.7.1-linux-arm64.tar.gz Linux arm64 (glibc 2.35+)
nerdit-0.7.1-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 6d6a9b667fcda90d3637398e998539cd98a70df148da03bc27a0ae5a211141cd.
To check what get.nerdit.ai served you:

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

Changelog

Reliability fixes for waits, logs and VM templates.

Fixes

  • Waiting after a stop. nerdit services wait, wait_for_service and
    GET /services/{name}/wait now wait for a requested stop: after
    stop_service they converge once the service is actually stopped. A wait
    for an explicit version (deploy --wait) keeps that version as its target,
    so a concurrent stop does not read as the deploy succeeding.
  • Fewer lost log lines across a daemon restart. The re-adopted log follow
    rewinds 10 seconds and skips the lines already stored, so lines emitted just
    before the restart are kept. A reader more than 10 seconds behind can still
    lose its unread backlog.
  • Filtered log reads return a cursor to delegated callers. A forward read
    with grep or since now returns X-Nerdit-Scan-Watermark to
    project-delegated callers too, so a follower with no match does not rescan
    the same history. As before, a full page omits it: continue from its last
    row ID until a shorter page returns the watermark.

Agents and API

  • Every deploy response that creates or updates a service (not a
    ?dry_run=true plan) carries the service's project, project_id and
    service, like GET /services. POST /projects/{project}/apply returns
    the project's project_id (null on a dry run that would create it).

Installation

  • VM templates. install.sh --template (or NERDIT_TEMPLATE=1) builds a
    fork-safe image: it installs the root service, proves /health, then
    disables it and removes every per-machine file, so each clone mints its own
    identity and admin token. Clones must cold-boot, or expose VMGenID; otherwise
    reboot a clone before its first start. On each clone, run
    systemctl enable --now nerdit.service, wait for /health, then run the
    link command the installer printed: it sets the unit user and its HOME. On
    hosts whose firewall denies incoming traffic by default, the template
    re-allows container traffic on the Docker bridge at each start.
    nerdit uninstall removes the template's unit drop-ins.
  • The GPU dependency is nvidia-ml-py instead of the deprecated pynvml
    wrapper, which printed a FutureWarning on every Python start.
  • The wheel ships only the built dashboard, about 1 MB smaller, and CLI
    commands start about 150 ms faster.

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

Source

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