Files
headlamp-rook-plugin/CHANGELOG.md
T
Chris Farhood 25175b65b8 feat: initial release of headlamp-rook-ceph-plugin v0.1.0
Headlamp plugin for Rook-Ceph cluster visibility.

Pages:
- Overview dashboard: CephCluster health, capacity bar, resource counts
  (block pools, filesystems, object stores, PVs, PVCs), daemon pod
  health summary, non-Bound PVC alerts
- Block Pools: CephBlockPool table with replication, failure domain,
  mirroring; slide-in detail panel
- Pods: all Rook-Ceph daemon pods grouped by role with ready/total counts

Native Headlamp integrations:
- StorageClass table: Rook Type, Pool, Cluster ID columns
- PV table: Rook Type, Pool columns
- PVC detail injection: driver, type, pool, volume handle
- PV detail injection: CSI volume attributes
- Pod detail injection: Ceph daemon role badge
- App bar badge: cluster health (HEALTH_OK/WARN/ERR), color-coded

API / architecture:
- src/api/k8s.ts: types + filters for ceph.rook.io/v1 CRDs; handles
  both default rook-ceph.* and custom-namespace provisioner strings
- src/api/RookCephDataContext.tsx: shared context provider; fetches
  CephCluster, CephBlockPool, CephFilesystem, CephObjectStore CRDs
  plus daemon pods via label selectors
- 37 unit tests (vitest + @testing-library/react)
- TypeScript strict mode, zero any types
- CI + release GitHub Actions workflows

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-18 16:55:39 -05:00

2.5 KiB

Changelog

All notable changes to the Headlamp Rook-Ceph Plugin will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

0.1.0 - 2026-02-18

Added

  • Overview Dashboard — CephCluster health (HEALTH_OK/WARN/ERR), cluster capacity PercentageBar, storage resource counts (block pools, filesystems, object stores, PVs, PVCs), daemon pod health summary, non-Bound PVC alert table
  • Block Pools page — CephBlockPool table with phase, replication, failure domain, mirroring; slide-in detail panel with erasure coding and status info
  • Storage Classes page — Rook-Ceph StorageClass table with type (Block/Filesystem), pool, provisioner, reclaim policy, expansion; slide-in detail panel with parameters
  • Volumes page — Rook-Ceph PV table with capacity, access modes, reclaim, pool, claim; slide-in detail panel with full CSI volume attributes
  • Pods page — all Rook-Ceph daemon pods grouped by role with ready/total counts and restart tracking
  • StorageClass column injection — adds Rook Type, Pool, and Cluster ID columns to native Headlamp StorageClass table
  • PV column injection — adds Rook Type and Pool columns to native Headlamp PV table
  • PVC Detail Injection — Rook-Ceph section automatically injected into Headlamp's PVC detail view showing driver, type, pool, volume handle, and PV name
  • PV Detail Injection — Rook-Ceph section injected into PV detail view with full CSI volume attributes
  • Pod Detail Injection — Ceph daemon role badge (Operator, MON, OSD, MGR, etc.) injected into matching Pod detail pages
  • App Bar Badge — cluster health badge in top nav bar, color-coded green/orange/red; hidden when no CephCluster present
  • RookCephDataContext — shared React context provider for all plugin pages; fetches CephCluster, CephBlockPool, CephFilesystem, CephObjectStore CRDs plus daemon pods
  • Multi-provisioner support — handles both default rook-ceph.* and custom-namespace provisioner strings

Infrastructure

  • GitHub repository with CI (lint + type-check + test) and release workflows
  • Unit tests with Vitest + @testing-library/react
  • TypeScript strict mode with zero any types
  • ESLint + Prettier code quality tooling