Gandalf the Greybeard
eea39267ab
fix(ci): add missing eslint/prettier/typescript devDeps, fix tsconfig types
...
Add eslint@^8.57.0, @headlamp-k8s/eslint-config@^0.6.0, prettier@^2.8.8,
typescript@~5.6.2 as explicit devDependencies. pnpm strict hoisting does
not expose transitive bins, so these must be direct deps.
Remove vite/client and vite-plugin-svgr/client from tsconfig types; these
are transitive deps pnpm does not hoist and polaris plugin omits them.
2026-03-24 21:48:51 +00:00
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