Infrastructure
Higher-order components for the homelab domain — host and service cards, container stacks, incidents, an alert inbox, the approval and rollback flows, backups and config diffs. These compose the Mission Control dashboard.
HostCard
/infra/hostcard/A machine at a glance: status dot, CPU / memory / disk meters (red past 85%), uptime and container count. Supports a loading skeleton.
HostCardProps| Prop | Type |
|---|---|
hostname | string |
ip? | string |
status? | Status |
cpu? | string |
memory? | string |
disk? | string |
uptime? | string |
containers? | number |
loading? | boolean |
ServiceHealthCard
A single service with status badge and a compact stat strip — uptime, response time, version.
DockerStackCard
A compose stack with per-service status rows and an up/total count.
IncidentCard
/infra/incidentcard/A severity-coded incident with a colored left border. Acknowledged incidents dim. Severity scale: critical · high · medium · low · info.
hermes worker pool saturated — requests queueing.
AlertInbox
A live inbox with severity filter chips, an open count, and per-row acknowledge. Wire onAcknowledge to your state. Pass loading for a skeleton; shows a clear all-good empty state.
ApprovalCard
A human-in-the-loop gate: the action, its blast radius, and approve / reject. Settles into an approved or rejected state.
Restart iris:tollerud-hermes to clear the sustained CPU alert.
RollbackPlan
An ordered execution plan with live per-step status — pending, running (spinner), success, failed or skipped.
BackupStatusPanel
Backup jobs with status, target and size, plus a health summary footer that turns red when any job has failed. Supports loading and empty states.
ActionDiff
A unified config diff for previewing changes before an agent applies them. Context lines toggle off to focus on edits.
| 10 | 10 | services: |
| 11 | 11 | hermes: |
| 12 | - image: hermes:v2.1 | |
| 12 | + image: hermes:v2.0 | |
| 13 | 13 | restart: unless-stopped |
| 14 | - mem_limit: 512m | |
| 14 | + mem_limit: 768m |