Crucible v0.9.4 on npm
Bare metal server monitoring.
The opinionated early-warning system for bare metal. SMART, IPMI, ZFS, and ECC monitoring with honest fix commands. $3 per node, first 3 free.
monitored-server-1
Delete ServerIPMI: 4 critical hardware event(s)
Power Supply PS2 Status reporting predictive failure. Sustained 9h 30m.
Sustained 9h 30m. (ipmi_critical)
PSU event: check physical PSU and connections. Verify redundancy: ipmitool chassis status.
→ IPMI sensor readings
ipmitool sel list | tail -30
ipmitool sel infoSSH root login with password enabled
PermitRootLogin is "yes" and PasswordAuthentication is "yes". Root can be brute-forced over SSH.
Sustained 7d 2h. (ssh_root_password)
Set PermitRootLogin prohibit-password after verifying key auth works.
→ Security posture
# Step 1: Verify key-based auth works BEFORE changing anything
ls -la ~/.ssh/authorized_keys
# Step 2: After confirming key auth works, set:
# PermitRootLogin prohibit-password
# PasswordAuthentication no
sudo systemctl restart sshdReboot required for kernel update
Running kernel 6.8.0-87-generic; installed kernel 6.8.0-89-generic.
Sustained 2d 14h. (kernel_needs_reboot)
Schedule a reboot when convenient.
→ Security posture
uname -r
ls /boot/vmlinuz-* | sort -V | tail -1
# Use the Crucible planned-reboot flow so unexpected_reboot stays quiet:
sudo crucible-agent reboot --reason "kernel upgrade"FOUNDING PRINCIPLES
Built from operations.
Every alert, threshold, and fix command comes from a decade of running bare metal.
Transparency by default.
Open-source agent and MCP servers. Public docs. No black boxes in your monitoring stack.
Free tools, paid reliability.
The Crucible agent is MIT-licensed forever. Dashboard adds history, fleet views, and managed alerting.
Connect a server in sixty seconds.
One command. systemd or Docker. The agent auto-detects your hardware.
$ curl -sf https://glassmkr.com/install.sh | sudo bash✓ Connected to app.glassmkr.com (eu-ams-1) ✓ Detected: 2 disks (Samsung MZ7L3480), IPMI v2.0, ECC RAM ✓ 38 alert rules active ✓ Streaming telemetry. View at app.glassmkr.com/h/abc123
Servers in. Telemetry out.
Crucible runs as a systemd service on your hardware. Snapshots ship to Dashboard over TLS every minute. The agent is MIT-licensed; audit every byte that leaves your server.
- 1.1 Crucible agent (Node.js, MIT, on npm)
- 1.2 One command install. systemd or Docker.
- 1.3 TLS-encrypted telemetry. EU endpoint.
Your Servers
+ Add ServerHardware-level visibility, not just CPU and RAM.
The base layer your application runs on, monitored at the hardware level. SMART attributes, IPMI sensors, ZFS pool health, ECC error counters, kernel vulnerability mitigations. Specific values, not abstractions: Samsung MZ7L3480 reallocated_sectors=12, predicted failure 30 days.
- 2.1 Storage (SMART, NVMe wear, ZFS scrub state)
- 2.2 Memory (ECC errors via edac-util)
- 2.3 CPU (per-core thermals, IPMI sensors)
- 2.4 Network (link state, drops, retransmits)
- 2.5 Security posture (kernel CVEs, mitigations)
Storage
SMART Health
Every alert ships with the command to fix it.
38 rules in every plan. P1 through P4 priorities. The fix block in every alert is a real command tested against real systems.
RAID md126 degraded
md126 (raid1) is degraded. Failed disks: sda1. One more failure means data loss.
Sustained just now. (raid_degraded)
Replace the failed drive immediately. Check cat /proc/mdstat and mdadm --detail /dev/md126 for status.
→ Storage overview
# Identify the degraded array and the failed member (alert evidence has the device names)
cat /proc/mdstat
sudo mdadm --detail /dev/mdX # replace mdX with the array from the alert
lsblk
# After replacing the failed disk, re-add the new member
sudo mdadm --manage /dev/mdX --add /dev/sdYN # sdYN = partition on the new disk
# Watch the rebuild progress
watch -n 5 cat /proc/mdstatDashboard tracks what your kernel is doing about it.
Beyond raw metrics, Dashboard surfaces what your system is actively defending against. Kernel mitigations applied per CVE, microcode revision tracking, automatic update status. For Pro plans, a self-hosted Gemma 4 model summarizes alerts and suggests root causes. Your alert text never reaches OpenAI, Anthropic, or Google.
- 4.1 Kernel CVE tracking with mitigation status
- 4.2 AI analysis on Glassmkr GPU in Amsterdam
- 4.3 Self-hosted Gemma 4. No third-party API calls.
- 4.4 One-sentence summaries. Runnable diagnostic commands.
Security Posture
YOUR TELEMETRY STAYS YOURS
Your alert text never reaches OpenAI, Anthropic, or Google.
Dashboard runs in Amsterdam on dedicated hardware. The Crucible agent is MIT-licensed; fork it, audit it, run your own. Read the security model →
Pricing
$3 per node per month. First 3 nodes free. No credit card. Cancel anytime.
WHAT YOU GET ON EVERY PLAN
- No per-feature paywalls on alert rules. All 38 rules in every plan, free or Pro.
- Built in the open. MIT-licensed Crucible agent on npm.
- Opinionated thresholds from a decade of bare-metal operations.
- Self-host Crucible forever for free. Pay for the interpretation.
PRO INCLUDES
AI alert analysis.
Self-hosted Gemma 4 narrates your alerts and suggests root causes. No third-party APIs.
90-day history.
Free tier retains 7 days. Pro retains 90.
Predictive alerts.
Forecast hardware failures days or weeks before threshold alerts catch them. Disk SMART trends, ECC error growth, fan drift, and temperature baselines are correlated across signals, so a weak lone signal doesn't fire until it lines up with a related one. Dismiss false positives in one click.
Every cloud, VM, and serverless workload runs on bare metal underneath. We build the opinionated early-warning system that keeps that base running, so the layers above can focus on the app.
THE NAME
Glassmkr takes its name from the Bohemian glassmaking tradition. Crystal that is impossibly complex to craft, yet produces objects for everyday life. A drinking glass, a vase, a chandelier. Beautiful products, complicated to engineer, needed every day.
Read the full philosophy →Spin up Dashboard in sixty seconds.
Start free for 3 nodesNo credit card. No email blasts. Cancel anytime.