Skip to content

Releases: oxidekit/oxidepm

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 29 Mar 19:27

Full Changelog: v0.3.1...v0.3.2

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 29 Mar 18:17

Full Changelog: v0.2.4...v0.3.0

v0.2.4: cosmos-status fix + Ctrl+C fix

Choose a tag to compare

@NayiemW NayiemW released this 29 Mar 17:35
  • cosmos-status now uses in-memory spec (fixes empty cosmos config issue)
  • Ctrl+C properly exits follow mode
  • startup command auto-installs systemd/launchd

v0.2.3: Follow Mode + Auto-Install Startup

Choose a tag to compare

@NayiemW NayiemW released this 29 Mar 07:04
  • Follow mode (logs -f) fully implemented
  • startup command auto-installs systemd/launchd service
  • Double-sign pre-flight + runtime sentinel
  • All previous cosmos features

v0.2.2: Double-Sign Protection + cosmos-status Fix

Choose a tag to compare

@NayiemW NayiemW released this 29 Mar 03:32

Changes

  • cosmos-status now queries CometBFT RPC for live block height, catching_up, seconds_since_block, lifecycle state
  • kill command stops all managed processes before daemon shutdown (no more orphaned processes)
  • Double-sign pre-flight: refuses to start non-validator nodes if priv_validator_key.json is present
  • Double-sign sentinel: runtime detection if another node is signing with your key
  • New notification: double_sign_risk (Critical severity)
  • Usage examples in cosmos-status error messages

Binaries

Platform File
Linux x86_64 oxidepm-x86_64-unknown-linux-gnu.tar.gz
macOS Apple Silicon oxidepm-aarch64-apple-darwin.tar.gz

v0.2.1: Cosmos Node Support + Sentry/Archive Modes

Choose a tag to compare

@NayiemW NayiemW released this 28 Mar 09:13

What's New

  • Cosmos process type (type = "cosmos") for managing Cosmos SDK blockchain nodes
  • Relay-until-synced: start as relay, auto-enable validator key once synced (prevents jailing)
  • Upgrade halt detection: detects UPGRADE NEEDED messages, suppresses auto-restart, sends alerts
  • 5 node modes: Validator, Seed, Relay, Sentry, Archive
  • 6 new Telegram alerts: ValidatorActivated, CatchingUp, MissedBlocks, Jailed, StaleNode, UpgradeHalted
  • Severity filtering for notifications (info/warning/critical)
  • bot_token_env — read Telegram token from env var instead of config file
  • oxidepm cosmos-status CLI command
  • TUI cosmos details tab
  • Restart-on-crash logic (was TODO, now implemented)
  • Graceful shutdown with configurable timeout for block commit
  • File descriptor limits (nofile) via pre_exec
  • Security: validator key only renamed, never read; no secrets in logs/notifications

Binaries

Platform File
Linux x86_64 oxidepm-x86_64-unknown-linux-gnu.tar.gz
macOS Apple Silicon oxidepm-aarch64-apple-darwin.tar.gz

v0.2.0: Cosmos Node Process Type

Choose a tag to compare

@NayiemW NayiemW released this 28 Mar 08:02

What's New

Cosmos Node Support (type = "cosmos")

Full lifecycle management for Cosmos SDK blockchain nodes (monod, gaiad, etc.):

  • CosmosRunner — Spawns nodes with RLIMIT_NOFILE via pre_exec, validates binary/key paths, warns on world-readable config dirs
  • Relay-Until-Synced — State machine that starts as relay, auto-enables validator key when synced, preventing jailing
  • Health Checks — Polls CometBFT /status for sync state, block height, stale detection. Queries slashing module for missed blocks and jailed status
  • Upgrade Halt Detection — Detects UPGRADE "name" NEEDED at height messages, sets upgrade_halted status, suppresses auto-restart, sends notification with required action
  • Restart-on-Crash — Implements the restart logic with RestartMode (on-crash/always/never), max restarts, delay
  • Notifications — 6 new event types (ValidatorActivated, CatchingUp, MissedBlocks, Jailed, StaleNode, UpgradeHalted) with severity filtering and bot_token_env support
  • CLI — New oxidepm cosmos-status <name> command
  • TUI — Cosmos details panel showing chain ID, node mode, lifecycle state, upgrade halt info

Config Example

Note: Always run node processes as a dedicated non-root user (e.g. monouser) with only the permissions it needs. Avoid running as root — use sudo for one-off privileged operations like binding low ports or adjusting system limits.

[[apps]]
name = "monod"
mode = "cosmos"
binary = "/usr/local/bin/monod"
args = ["start", "--home", "/home/monouser/.mono"]
cosmos_mode = "validator"
rpc_endpoint = "http://localhost:26657"
chain_id = "mono_6940-1"
relay_until_synced = true
validator_key_path = "/home/monouser/.mono/config/priv_validator_key.json"
nofile_limit = 65535
detect_upgrade_halt = true
restart = "on-crash"
max_restarts = 5

Security

  • Validator key operations only rename files, never read contents
  • Logs never contain key material or sensitive config
  • Telegram messages only include node name, status, heights — no paths/IPs
  • bot_token_env preferred over bot_token direct value
  • Run as a dedicated non-root user for defense in depth

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 21 Jan 23:50

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 21 Jan 23:48