A Cockpit plugin that provides the Keylime Webtool monitoring dashboard inside the Cockpit web console.
This plugin integrates the Keylime Monitoring Dashboard into Cockpit, providing a native system administration experience for monitoring Keylime remote attestation infrastructure. It communicates with keylime-webtool-backend (Rust/Axum) for all data.
Browser → Cockpit (:9090) → cockpit-bridge
→ cockpit.http() → keylime-webtool-backend (:8080)
→ websocket-stream1 → backend WebSocket (/ws/events)
- Cockpit >= 300
keylime-webtool-backendrunning on localhost:8080- Keylime installed (
/etc/keylimemust exist for the plugin to appear)
sudo dnf install cockpit-keylime-webtoolnpm install
npm run build
sudo ln -sfn $(pwd)/dist /usr/share/cockpit/keylimeThen open Cockpit at https://localhost:9090 and look for "Keylime Webtool" in the sidebar.
npm run watch # rebuild on file changes
npm run lint # ESLint
npm run typecheck # TypeScript check- Fleet dashboard with KPI overview
- Agent list with filtering, search, and detail views
- Attestation analytics (timeline, failures, incidents)
- Policy management (CRUD, versioning, impact analysis, two-person approval)
- Certificate monitoring (expiry tracking, chain validation)
- Alert management (severity, SLA, investigation workflow)
- Performance monitoring
- Audit log with hash chain verification
- Integration status monitoring
- Settings management
- React 18 + TypeScript (strict)
- PatternFly 6 (Cockpit-native UI)
- esbuild (Cockpit standard bundler)
- Zustand (client state) + TanStack React Query (server state)
- cockpit.http() + websocket-stream1 (Cockpit-native transport)
Apache-2.0