From 8d56dc4a749bb43790842a9adb7f27ee548bf91c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 19 Feb 2026 00:39:59 +0000 Subject: [PATCH 1/2] chore: release v0.1.1 --- artifacthub-pkg.yml | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/artifacthub-pkg.yml b/artifacthub-pkg.yml index 58edcc7..c7c7253 100644 --- a/artifacthub-pkg.yml +++ b/artifacthub-pkg.yml @@ -1,4 +1,4 @@ -version: "0.1.0" +version: "0.1.1" name: headlamp-rook-ceph-plugin displayName: Rook-Ceph Plugin createdAt: "2026-02-18T00:00:00Z" @@ -23,7 +23,7 @@ maintainers: provider: name: privilegedescalation annotations: - headlamp/plugin/archive-url: "https://github.com/cpfarhood/headlamp-rook-ceph-plugin/releases/download/v0.1.0/headlamp-rook-ceph-plugin-0.1.0.tar.gz" - headlamp/plugin/archive-checksum: "sha256:" + headlamp/plugin/archive-url: "https://github.com/privilegedescalation/headlamp-rook-ceph-plugin/releases/download/v0.1.1/headlamp-rook-ceph-plugin-0.1.1.tar.gz" + headlamp/plugin/archive-checksum: "sha256:642863314b0879233b0341341c59a1d7b979b1668585c3dda1ab54e21e0136a0" headlamp/plugin/distro-compat: "" headlamp/plugin/version-compat: ">=0.20" diff --git a/package.json b/package.json index 09d1fac..154c01d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "headlamp-rook-ceph-plugin", - "version": "0.1.0", + "version": "0.1.1", "description": "Headlamp plugin for Rook-Ceph cluster visibility and CSI driver monitoring", "repository": { "type": "git", -- 2.52.0 From 7860778920f62804d13b0e67f4f4cd1857792678 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Wed, 18 Feb 2026 19:42:02 -0500 Subject: [PATCH 2/2] fix(ci): add .eslintrc.js and remove unused imports Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude Co-Authored-By: Happy --- .eslintrc.js | 3 +++ src/components/BlockPoolsPage.tsx | 2 +- src/components/CephPodDetailSection.tsx | 2 +- src/components/OverviewPage.tsx | 2 +- src/components/PVCDetailSection.tsx | 2 +- src/components/PodsPage.tsx | 2 +- src/components/StorageClassesPage.tsx | 2 +- src/components/VolumesPage.tsx | 2 +- src/components/integrations/StorageClassColumns.tsx | 2 +- 9 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 .eslintrc.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..e37cc11 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ['@headlamp-k8s/eslint-config'], +}; diff --git a/src/components/BlockPoolsPage.tsx b/src/components/BlockPoolsPage.tsx index ab2442c..2b9934b 100644 --- a/src/components/BlockPoolsPage.tsx +++ b/src/components/BlockPoolsPage.tsx @@ -11,8 +11,8 @@ import { StatusLabel, } from '@kinvolk/headlamp-plugin/lib/CommonComponents'; import React, { useState } from 'react'; -import { useRookCephContext } from '../api/RookCephDataContext'; import { CephBlockPool, formatAge, phaseToStatus } from '../api/k8s'; +import { useRookCephContext } from '../api/RookCephDataContext'; function BlockPoolDetail({ pool, onClose }: { pool: CephBlockPool; onClose: () => void }) { return ( diff --git a/src/components/CephPodDetailSection.tsx b/src/components/CephPodDetailSection.tsx index f40db62..b2e2b21 100644 --- a/src/components/CephPodDetailSection.tsx +++ b/src/components/CephPodDetailSection.tsx @@ -11,7 +11,7 @@ import { StatusLabel, } from '@kinvolk/headlamp-plugin/lib/CommonComponents'; import React from 'react'; -import { formatAge, getPodRestarts } from '../api/k8s'; +import { formatAge } from '../api/k8s'; interface CephPodDetailSectionProps { resource: { diff --git a/src/components/OverviewPage.tsx b/src/components/OverviewPage.tsx index fdc5447..5397ea6 100644 --- a/src/components/OverviewPage.tsx +++ b/src/components/OverviewPage.tsx @@ -15,8 +15,8 @@ import { StatusLabel, } from '@kinvolk/headlamp-plugin/lib/CommonComponents'; import React from 'react'; -import { useRookCephContext } from '../api/RookCephDataContext'; import { formatAge, formatBytes, healthToStatus, phaseToStatus, storageClassType } from '../api/k8s'; +import { useRookCephContext } from '../api/RookCephDataContext'; import ClusterStatusCard from './ClusterStatusCard'; export default function OverviewPage() { diff --git a/src/components/PVCDetailSection.tsx b/src/components/PVCDetailSection.tsx index 4a16548..f19d2f9 100644 --- a/src/components/PVCDetailSection.tsx +++ b/src/components/PVCDetailSection.tsx @@ -10,8 +10,8 @@ import { SectionBox, } from '@kinvolk/headlamp-plugin/lib/CommonComponents'; import React from 'react'; +import { findBoundPv, formatStorageType } from '../api/k8s'; import { useRookCephContext } from '../api/RookCephDataContext'; -import { findBoundPv, formatStorageType, storageClassType } from '../api/k8s'; interface PVCDetailSectionProps { resource: { diff --git a/src/components/PodsPage.tsx b/src/components/PodsPage.tsx index 3928de6..8bf4de1 100644 --- a/src/components/PodsPage.tsx +++ b/src/components/PodsPage.tsx @@ -11,8 +11,8 @@ import { StatusLabel, } from '@kinvolk/headlamp-plugin/lib/CommonComponents'; import React from 'react'; -import { useRookCephContext } from '../api/RookCephDataContext'; import { formatAge, getPodRestarts, isPodReady, RookCephPod } from '../api/k8s'; +import { useRookCephContext } from '../api/RookCephDataContext'; function PodTable({ pods, title }: { pods: RookCephPod[]; title: string }) { if (pods.length === 0) return null; diff --git a/src/components/StorageClassesPage.tsx b/src/components/StorageClassesPage.tsx index 4f7bfad..436d325 100644 --- a/src/components/StorageClassesPage.tsx +++ b/src/components/StorageClassesPage.tsx @@ -11,8 +11,8 @@ import { StatusLabel, } from '@kinvolk/headlamp-plugin/lib/CommonComponents'; import React, { useState } from 'react'; -import { useRookCephContext } from '../api/RookCephDataContext'; import { formatAge, formatStorageType, RookCephStorageClass, storageClassType } from '../api/k8s'; +import { useRookCephContext } from '../api/RookCephDataContext'; function StorageClassDetail({ sc, pvCount, onClose }: { sc: RookCephStorageClass; pvCount: number; onClose: () => void }) { const type = storageClassType(sc); diff --git a/src/components/VolumesPage.tsx b/src/components/VolumesPage.tsx index 924d1b3..a9ab265 100644 --- a/src/components/VolumesPage.tsx +++ b/src/components/VolumesPage.tsx @@ -11,8 +11,8 @@ import { StatusLabel, } from '@kinvolk/headlamp-plugin/lib/CommonComponents'; import React, { useState } from 'react'; -import { useRookCephContext } from '../api/RookCephDataContext'; import { formatAccessModes, formatAge, phaseToStatus, RookCephPersistentVolume } from '../api/k8s'; +import { useRookCephContext } from '../api/RookCephDataContext'; function PVDetail({ pv, onClose }: { pv: RookCephPersistentVolume; onClose: () => void }) { const attrs = pv.spec.csi?.volumeAttributes ?? {}; diff --git a/src/components/integrations/StorageClassColumns.tsx b/src/components/integrations/StorageClassColumns.tsx index 7ad663a..db0b233 100644 --- a/src/components/integrations/StorageClassColumns.tsx +++ b/src/components/integrations/StorageClassColumns.tsx @@ -7,7 +7,7 @@ */ import React from 'react'; -import { isRookCephProvisioner, formatStorageType } from '../../api/k8s'; +import { formatStorageType, isRookCephProvisioner } from '../../api/k8s'; /** Safely read a nested field from either a KubeObject instance or plain object. */ function getField(item: unknown, ...path: string[]): unknown { -- 2.52.0