fix(#72): install ntfy in pre-built path too — devnet path was missing it

Phase 2b auto-detects pre-built archive mode and routes to
installFromPreBuilt(). That path copies bundled binaries (caddy, orama,
gateway, …) into place but never called InstallNtfy() — because ntfy
is downloaded from upstream github, not bundled. Result: on devnet
(which always uses pre-built mode), ntfy never installed even though
the always-on code path in installFromSource() was correctly wired up.

Fix: add InstallNtfy() call to installFromPreBuilt right after the
binary deploy + setCapabilities steps, before disableResolvedStub
runs. Ordering matters because Phase 4's ConfigureNtfy chowns
/etc/ntfy/server.yml to the ntfy user, which needs to exist.

VERSION bumped to 0.122.17.
This commit is contained in:
anonpenguin23 2026-05-14 12:16:28 +03:00
parent 8b4abb7eef
commit 7e47f42f91
3 changed files with 18 additions and 2 deletions

View File

@ -1 +1 @@
0.122.16
0.122.17

View File

@ -147,6 +147,22 @@ func (ps *ProductionSetup) installFromPreBuilt(manifest *PreBuiltManifest) error
return fmt.Errorf("failed to set capabilities: %w", err)
}
// Install ntfy on every node (feature #72). ntfy is not bundled in
// the pre-built archive — its installer downloads from upstream and
// verifies the SHA-256 checksum. ntfy listens on
// 127.0.0.1:NtfyListenPort only (no public exposure), so it's safe
// to run cluster-wide; nodes that don't serve a public push.* DNS
// entry just have an idle ntfy with no inbound traffic. Uniform
// install means no per-node toggling and no surprises when DNS
// topology changes.
//
// Note: this must run BEFORE Phase 4's ConfigureNtfy, otherwise the
// chown of /etc/ntfy/server.yml fails because the `ntfy` user
// doesn't exist yet.
if err := ps.binaryInstaller.InstallNtfy(); err != nil {
ps.logf(" ⚠️ ntfy install warning: %v", err)
}
// Disable systemd-resolved stub listener for nameserver nodes
// (needed even in pre-built mode so CoreDNS can bind port 53)
if ps.isNameserver {

View File

@ -1,6 +1,6 @@
{
"name": "@debros/orama",
"version": "0.122.16",
"version": "0.122.17",
"description": "TypeScript SDK for Orama Network - Database, PubSub, Cache, Storage, Vault, and more",
"type": "module",
"main": "./dist/index.js",