Commit Graph

17 Commits

Author SHA1 Message Date
Chris Farhood 4c1545d8e8 fix(PRI-564): add eslint/prettier/typescript as direct devDeps
pnpm strict isolation (-frozen-lockfile) only exposes binaries from direct
devDependencies. eslint, prettier, and typescript were transitive peers of
@kinvolk/headlamp-plugin and not accessible in CI.

- eslint: ^8.57.1
- prettier: ^3.0.0
- typescript: ^5.6.2
2026-05-06 12:47:16 +00:00
privilegedescalation-engineer[bot] 00c29e36dd fix: override lodash >=4.18.0 to patch code injection vulnerability (#51)
* fix: override lodash >=4.18.0 to patch code injection vulnerability

GHSA-r5fr-rjxr-66jc is a code injection vulnerability in lodash
below 4.18.0. The vulnerable transitive dependency comes through
@kinvolk/headlamp-plugin.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix: update package-lock.json to satisfy lodash override

The package.json override requires lodash >=4.18.0, but the lockfile
had 4.17.23. Regenerated lockfile with npm install --include=dev.

Co-Authored-By: Paperclip <noreply@paperclip.ing>

* fix(e2e): scope heading locators to main content area

Cherry-picked from PR #50 to fix E2E test failures on lodash PR.

Co-Authored-By: Paperclip <noreply@paperclip.ing>

---------

Co-authored-by: Gandalf the Greybeard <gandalf@privilegedescalation.dev>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-05-03 17:44:15 +00:00
privilegedescalation-engineer[bot] 823e590513 release: v1.1.0 (#49)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-21 20:52:49 +00:00
Gandalf the Greybeard 796ec48ad1 feat: add Playwright E2E smoke tests
Adds Playwright E2E smoke tests following the headlamp-polaris-plugin
pattern. Tests target a dedicated Headlamp instance in the
privilegedescalation-dev namespace.

- playwright.config.ts: Playwright configuration with auth state
- e2e/auth.setup.ts: OIDC (Authentik) and token-based auth setup
- e2e/intel-gpu.spec.ts: 5 smoke tests covering sidebar, overview,
  device-plugins page, settings, and inter-view navigation
- scripts/deploy-e2e-headlamp.sh: deploys stock Headlamp with plugin
  injected via ConfigMap into privilegedescalation-dev
- scripts/teardown-e2e-headlamp.sh: tears down all E2E resources
- package.json: adds @playwright/test dev dep, e2e/e2e:headed scripts
- .gitignore: excludes auth state, .env.e2e, playwright-report/

Closes #24

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 22:59:55 +00:00
privilegedescalation-engineer[bot] 46821c747c release: v1.0.0 (#21)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-21 23:59:53 +00:00
github-actions[bot] 60d76f1cb2 release: v0.4.3 2026-03-19 21:39:48 +00:00
gandalf-the-greybeard[bot] daad91880c fix: add missing devDependencies for CI (#12)
The package.json only listed @kinvolk/headlamp-plugin as a devDependency,
but CI runs tsc, eslint, prettier, and vitest which all require additional
packages. Add the same devDependencies used by the reference kube-vip plugin
and regenerate the lock file.

Also adds peerDependencies for react/react-dom to match the reference plugin
conventions.

Co-authored-by: Gandalf the Greybeard <gandalf-the-greybeard[bot]@users.noreply.github.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-03-18 23:30:28 +00:00
Hugh Hackman 56eb0761dd fix: add npm overrides for tar and undici security advisories
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 22:55:50 +00:00
gandalf-the-greybeard[bot] e5e681b415 fix: rename plugin from headlamp-intel-gpu to intel-gpu (#6)
Aligns naming convention across all plugins. Renames package, sidebar entries, routes, and documentation references.
2026-03-10 23:49:08 +00:00
github-actions[bot] db896a8f88 release: v0.4.2 2026-03-09 03:11:10 +00:00
gandalf-the-greybeard[bot] 231cb41d06 Rename plugin from intel-gpu to headlamp-intel-gpu
Artifact Hub listing was renamed with new repository ID
3c97f78a-26e3-4e8a-89e7-29884602e3d7. Updates package name,
sidebar entries, routes, archive URL, and documentation.

Refs: PRI-26

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 12:14:20 +00:00
DevContainer User 1ae6e2d355 release: v0.4.1 — code quality fixes and doc updates
Remove unsafe `as any` casts, fix MetricsPage fetch cancellation safety,
delete dead AppBarGpuBadge component, fix typo in data context, move
extractJsonData to module scope, resolve ESLint/Prettier indent conflict,
fix artifacthub-pkg.yml version mismatch and inaccurate description.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 13:05:58 +00:00
github-actions[bot] 01b60a23b8 release: v0.4.0 2026-03-04 11:52:19 +00:00
DevContainer User 034e0b9db8 chore: align repo structure with plugin conventions
Add missing config files (.eslintrc.js, .prettierrc.js, .pluginrc,
.mcp.json, renovate.json), documentation (CLAUDE.md, CONTRIBUTING.md,
README.md, SECURITY.md, LICENSE), CI/CD workflows (ci.yaml, release.yaml),
and Claude agent definitions. Rename package from headlamp-intel-gpu-plugin
to intel-gpu to match the short-name convention used by all other plugins.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:46:16 +00:00
Chris Farhood 2eb19f8401 chore: bump to v0.3.0
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-19 05:57:13 -05:00
Chris Farhood a226f0191c feat: add Metrics page, remove app bar badge, fix sidebar label
- Add src/api/metrics.ts: Prometheus text parser + fetchGpuPluginMetrics()
  fetching from Intel GPU device plugin pods (port 9090). Extracts engine
  utilization (active/total ticks → %), boost frequency (MHz), VRAM and
  system memory usage, cumulative energy (µJ).

- Add src/components/MetricsPage.tsx: per-card metrics display with inline
  utilization bars, graceful fallback when enableMonitoring is not set.

- Register Metrics sidebar entry (mdi:chart-line) and route /intel-gpu/metrics.

- Remove registerAppBarAction and AppBarGpuBadge (colored info bubble).

- Fix sidebar parent label: 'Intel GPU' → 'intel-gpu'.

- Bump to v0.2.0; update artifacthub-pkg.yml with new archive URL and checksum.

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 21:23:36 -05:00
Chris Farhood 41bf2aead4 feat: initial release of headlamp-intel-gpu-plugin v0.1.0
Adds a Headlamp plugin for Intel GPU device plugin visibility:

- Dedicated sidebar section: Overview, Device Plugins, GPU Nodes, GPU Pods
- Native Node detail page injection: GPU capacity, allocatable, utilization, active pods
- Native Pod detail page injection: per-container GPU resource requests/limits
- Native Nodes table: GPU Type and GPU Devices columns
- App bar health badge (hidden when plugin not installed)
- GpuDevicePlugin CRD monitoring (deviceplugin.intel.com/v1) with graceful
  degradation when CRD is not present
- Supports discrete (i915), Xe, and integrated GPU nodes via node labels
- 48 unit tests, TypeScript clean, 28 kB production bundle

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 17:58:49 -05:00