78 Commits

Author SHA1 Message Date
privilegedescalation-engineer[bot] f6a296df1b fix: override fast-uri to patched version to resolve 2 high severity CVEs (#159)
Upgraded @kinvolk/headlamp-plugin from ^0.13.0 to ^0.14.0 and added
fast-uri >=3.1.2 to pnpm overrides to address:
- GHSA-q3j6-qgpj-74h6 (fast-uri path traversal, patched in >=3.1.1)
- GHSA-v39h-62p7-jpjc (fast-uri host confusion, patched in >=3.1.2)

Remaining 6 vulnerabilities (1 low, 5 moderate) are in transitive deps
without direct override paths and do not affect production runtime.

Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-05-13 17:43:20 +00:00
Chris Farhood a781027d3b Remove all E2E infrastructure — approach is dead
Delete the entire local E2E testing setup:
- e2e/ directory (Playwright tests)
- scripts/deploy-e2e-headlamp.sh and teardown-e2e-headlamp.sh
- .github/workflows/e2e.yaml
- deployment/ (RBAC files and PLUGIN_LOADING_FIX.md)
- playwright.config.ts
- E2E npm scripts and @playwright/test dependency
- E2E-related .gitignore entries

RBAC is managed by Flux GitOps in privilegedescalation/infra.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-11 01:15:39 +00:00
privilegedescalation-engineer[bot] 7a0c068a93 fix: override elliptic for GHSA-848j-6mx2-7j84
* fix: add elliptic override for GHSA-848j-6mx2-7j84

Add pnpm.overrides.elliptic to prevent version regression on
the transitive elliptic vulnerability (CVE-2025-14505).

Vulnerability path:
@kinvolk/headlamp-plugin → vite-plugin-node-polyfills →
node-stdlib-browser → crypto-browserify → browserify-sign → elliptic

Note: pnpm audit will still report the vulnerability until
upstream publishes elliptic 6.6.2+. This override safeguards
against pulling a worse version.

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

* chore: regenerate pnpm-lock.yaml with elliptic override

---------

Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-05-06 02:14:10 +00:00
privilegedescalation-engineer[bot] aa1db9215a fix: patch high-severity vulnerabilities in picomatch and vite (#128)
* chore: replace Dependabot references with Renovate

- SECURITY.md: update to mention Renovate (org-wide Mend Renovate)
- PROJECT_ASSESSMENT.md: mark Renovate as integrated (org-wide config)

Closes PRI-389. Parent PRI-387.

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

* fix: override picomatch >=4.0.4 and vite >=6.4.2 to patch high-severity vulnerabilities

Resolves 3 high-severity vulnerabilities from pnpm audit:
- GHSA-c2c7-rcm5-vvqj: Picomatch ReDoS via extglob quantifiers (>=4.0.0 <4.0.4)
- GHSA-p9ff-h696-f583: Vite arbitrary file read via dev server WebSocket
- GHSA-4w7w-66w2-5vf9: Vite path traversal in optimized deps .map handling

Also addresses moderate GHSA-3v7f-55p6-f55p (picomatch method injection).

Remaining vulnerabilities (moderate/low) are in transitive dependencies
managed by @kinvolk/headlamp-plugin and @headlamp-k8s/eslint-config
which require upstream updates to those packages.

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

---------

Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-05-04 11:01:53 +00:00
privilegedescalation-engineer[bot] 58c9597388 fix: override lodash >=4.18.0 to patch code injection vulnerability (#120)
* 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 pnpm-lock.yaml to satisfy lodash override

The package.json pnpm.overrides requires lodash >=4.18.0, but the lockfile
had an older version. Regenerated lockfile with pnpm install.

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

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

Fix E2E test failures by scoping heading locators to the main
content area instead of searching the entire page. This prevents
matching headings in the sidebar or other non-content areas.

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

* fix(e2e): scope remaining getByText to main element

The 'Cluster Score' text matcher was still searching the entire page
instead of being scoped to the main content area. This could cause
false positives if the same text appears in the sidebar.

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

* ci: trigger fresh E2E run

Re-pushing to trigger a new CI run since the last E2E was cancelled.

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

* fix(e2e): use [role=main] instead of main element

Switch from 'main' element selector to '[role="main"]' attribute
selector for better compatibility with Headlamp's app structure.

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

* fix(e2e): hybrid approach - unscoped headings, main-scoped text

Use broader heading selectors matching intel-gpu pattern, but
keep text checks scoped to main element to avoid sidebar conflicts.

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

* ci: re-test original code to verify baseline

---------

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:43:58 +00:00
Gandalf the Greybeard 415e32cdc9 release: v1.0.0
- Bump version to 1.0.0 in package.json and package-lock.json
- Update artifacthub-pkg.yml: version, archive-url, and changes section
- Add v1.0.0 CHANGELOG entry covering changes since v0.7.2

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-22 11:58:44 +00:00
privilegedescalation-engineer[bot] aa32e7a353 ci: add packageManager field to pin pnpm version (#103)
* ci: add packageManager field to pin pnpm version

Pins pnpm@10.32.1 via the packageManager field. This allows
pnpm/action-setup@v4 to resolve the version from package.json instead
of relying on `version: latest`, preventing silent breakage on major
pnpm version bumps.

Fixes: PRI-674

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

* ci: trigger fresh CI run after Corepack fix merges in .github PR #57

The shared plugin-ci.yaml now uses Corepack when packageManager field
is set, avoiding the 'Multiple versions of pnpm specified' error.

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

* ci: retrigger CI with updated shared workflow (python3 pnpm detection)

---------

Co-authored-by: Hugh Hackman <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
Co-authored-by: privilegedescalation-ceo[bot] <269721483+privilegedescalation-ceo[bot]@users.noreply.github.com>
Co-authored-by: Hugh Hackman <hugh@privilegedescalation.paperclip.ing>
Co-authored-by: Hugh Hackman <hugh@privilegedescalation.com>
2026-03-22 11:17:41 +00:00
Gandalf the Greybeard 95096562e4 fix: add @headlamp-k8s/eslint-config as direct devDependency
pnpm strict mode does not hoist transitive deps. @headlamp-k8s/eslint-config
was only available via @kinvolk/headlamp-plugin, causing ESLint to fail with
"Cannot find config @headlamp-k8s/eslint-config to extend from". Adding it
as a direct devDependency makes it accessible at the root node_modules level.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-22 04:29:31 +00:00
Hugh Hackman 62baf2bd5e fix: also add prettier as direct devDependency
pnpm strict mode does not expose transitive dependency binaries.
Adding prettier@^2.8.8 alongside eslint@^8.57.0 so that
pnpm run format:check works in CI without 'prettier: not found'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 04:24:45 +00:00
Hugh Hackman d2da09406a fix: add eslint as direct devDependency
pnpm's strict node_modules layout does not expose transitive dependency
binaries. eslint was only a transitive dep via @kinvolk/headlamp-plugin,
causing 'eslint: not found' when running pnpm run lint in CI.

Adding eslint@^8.57.0 as a direct devDependency ensures the binary is
available in node_modules/.bin/ under pnpm.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 04:21:28 +00:00
Gandalf the Greybeard 2c80d0451e fix: patch 8 of 9 npm vulnerabilities via pnpm.overrides
Move vulnerability overrides from npm-format top-level `overrides` to
pnpm-format `pnpm.overrides`. Add flatted override to patch the
high-severity prototype pollution CVE. All 5 high + 3 moderate severity
issues are now resolved.

Remaining: elliptic (low, no patch available upstream).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 22:41:32 +00:00
Gandalf the Greybeard 9d02f504fd fix: add typescript as explicit devDependency
pnpm run tsc failed with "tsc not found" because typescript was only
available as a transitive dependency from @kinvolk/headlamp-plugin.
Adding it explicitly as a direct devDependency ensures tsc is always
accessible regardless of pnpm hoisting behavior.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 20:45:46 +00:00
privilegedescalation-engineer[bot] a5398e8409 feat: add ExemptionManager tests, coverage threshold, and ArtifactHub metadata polish (#82)
* ci: rework E2E infrastructure to use default namespace

Board directive: E2E tests must run in the `default` namespace.
Nothing should persist beyond a test run; no dedicated namespace needed.

Changes:
- e2e-ci-runner-rbac.yaml: retarget Role/RoleBinding to `default`,
  remove ClusterRole/ClusterRoleBinding (no longer needed since we
  don't need cluster-scoped namespace read permission)
- e2e.yaml: set E2E_NAMESPACE=default
- deploy-e2e-headlamp.sh: default namespace to `default`, remove
  namespace existence check (default always exists)
- teardown-e2e-headlamp.sh: default namespace to `default`, remove
  namespace existence check guard
- headlamp-e2e-values.yaml: update usage comment
- e2e/README.md: remove namespace creation prerequisite

Closes #78 #79

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

* ci: add RBAC preflight check to deploy-e2e-headlamp.sh

Fails fast with a clear error and remediation hint if the runner SA
lacks configmap delete permission, instead of dying mid-deploy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add ExemptionManager tests, coverage threshold, and ArtifactHub metadata

- Add 22 unit tests for ExemptionManager.tsx covering:
  - Failing checks extraction (pod-level, container-level, ignore-severity, dedup)
  - Dialog open/close, check toggle, exempt-all toggle
  - Apply button enabled/disabled state
  - ApiProxy.request called with correct path (apps/batch/core) and annotation structure
  - Success and error feedback states, in-flight "Applying..." label
- Add vitest coverage config with >=80% threshold (lines/functions/branches/statements)
- Update artifacthub-pkg.yml:
  - Add install section (Headlamp-native plugin installer only)
  - Add appVersion: "5.0" (compatible Polaris dashboard version)
  - Expand distro-compat from "in-cluster" to "in-cluster,web,desktop"
  - Add changes block documenting v1.0 features

Closes privilegedescalation/headlamp-polaris-plugin#81 (partial — test and metadata tasks)

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

* style: fix Prettier formatting in ExemptionManager.test.tsx

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

* fix: add @vitest/coverage-v8 devDependency for coverage provider

vitest.config.mts specifies coverage.provider: 'v8' but the
@vitest/coverage-v8 package was missing from devDependencies.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Hugh Hackman <hugh@privilegedescalation.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Gandalf the Greybeard <gandalf@privilegedescalation.com>
Co-authored-by: Samuel Stinkpost <samuel@privilegedescalation.dev>
Co-authored-by: Gandalf the Greybeard <gandalf@privilegedescalation.dev>
2026-03-21 12:53:07 +00:00
privilegedescalation-paperclip[bot] 4296eb97fb release: v0.7.2 (#70)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-19 21:34:59 +00:00
gandalf-the-greybeard[bot] 0476fd1076 fix: add tar and undici as direct devDependencies for Dependabot resolution (#68)
Dependabot security update runs are failing because it cannot resolve
patched versions of tar (>=7.5.11) and undici (>=7.24.0) through
transitive dependency chains. While npm overrides already mitigate the
vulnerabilities locally, Dependabot's resolver doesn't honor overrides.

Adding these as explicit devDependencies lets Dependabot see and
resolve the patched versions directly.

Co-authored-by: Gandalf the Greybeard <gandalf@privilegedescalation.dev>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-03-18 23:54:21 +00:00
Gandalf the Greybeard f7d415e013 fix: add npm overrides for tar and undici security advisories
The dependency tree through @kinvolk/headlamp-plugin constrains tar
(via pluginctl) and undici (via cheerio/i18next-parser). While the
lockfile currently resolves to patched versions, Dependabot cannot
auto-update these transitive deps. Adding explicit overrides ensures
tar>=7.5.11 and undici>=7.24.3 are always resolved, preventing
future Dependabot failures.

Fixes #64

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 02:44:24 +00:00
gandalf-the-greybeard[bot] c02efe5430 fix: add @types/react and @types/react-dom to fix TypeScript errors (#45)
Adds missing TypeScript type declarations for React and React-DOM as devDependencies.

QA-approved by Regression Regina.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-15 16:06:02 +00:00
hugh-hackman[bot] daf0ebbff5 release: v0.7.1 — fix Artifact Hub checksum mismatch (#41)
Co-authored-by: Hugh Hackman <hugh@privilegedescalation.com>
2026-03-15 13:54:58 +00:00
hugh-hackman[bot] 7413f699de release: bump version to v0.7.0 (#30)
Updates package.json and artifacthub-pkg.yml for the v0.7.0 release.
Includes all changes since v0.6.0:
- RBAC fix for Polaris dashboard proxy access (PR #22)
- Settings test selector fix (PR #22)
- Package name correction from solaris to polaris (PR #26)
- E2E preflight check (PR #24)
- Missing test dependencies (PR #28)

Co-authored-by: gandalf-the-greybeard[bot] <gandalf-the-greybeard[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 06:34:14 -04:00
gandalf-the-greybeard[bot] 497c040dbe fix: add missing test dependencies to devDependencies (#28)
vitest, @testing-library/react, @testing-library/user-event,
@testing-library/jest-dom, jsdom, react, react-dom, @mui/material,
and react-router-dom were all used directly but only available as
transitive dependencies through @kinvolk/headlamp-plugin. pnpm's
strict module resolution prevented them from being resolved.

Also adds process.env.NODE_ENV="test" to vitest config so React
loads its development build (required for act() support in tests).

Fixes #27

Co-authored-by: gandalf-the-greybeard[bot] <gandalf-the-greybeard[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:08:43 -04:00
gandalf-the-greybeard[bot] 0bd5223587 fix: correct package name from solaris to polaris (#26)
* ci: add E2E preflight check for Headlamp connectivity and plugin version

Adds a diagnostic step before E2E tests that:
- Logs the expected plugin version from package.json
- Verifies Headlamp is reachable (fails fast if not)
- Attempts to list installed plugins for debugging

This surfaces version mismatches and connectivity issues immediately
instead of requiring analysis of cryptic test timeout failures.

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

* fix: correct package name from headlamp-solaris to headlamp-polaris

The package name was misspelled as "solaris" instead of "polaris" in
artifacthub-pkg.yml, package.json, and package-lock.json.

Fixes PRI-49

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

* fix: correct package name from headlamp-solaris to headlamp-polaris

Fixes the ArtifactHub package name typo introduced in 0.6.0.
Only changes the name field in artifacthub-pkg.yml, package.json,
and package-lock.json. No dependency or workflow changes.

Fixes #25

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

---------

Co-authored-by: gandalf-the-greybeard[bot] <gandalf-the-greybeard[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:07:19 -04:00
hugh-hackman[bot] 2c441bf867 chore: rename Artifact Hub package to headlamp-solaris (#23)
Update package name and Artifact Hub repository ID to reflect the
rename from polaris to headlamp-solaris (new ID: 0243bdaf-c926-44dc-b411-a7c291bf1fcd).

Files updated:
- package.json: name polaris -> headlamp-solaris
- package-lock.json: name polaris -> headlamp-solaris
- artifacthub-pkg.yml: name headlamp-polaris-plugin -> headlamp-solaris
- artifacthub-repo.yml: repositoryID updated to new ID

Co-authored-by: gandalf-the-greybeard[bot] <gandalf-the-greybeard[bot]@users.noreply.github.com>
2026-03-08 22:08:53 +00:00
github-actions[bot] 8bc6575ac3 release: v0.6.0 2026-03-04 17:03:10 +00:00
github-actions[bot] 9b9052243f release: v0.5.2 2026-03-04 02:44:40 +00:00
github-actions[bot] f575623b93 release: v0.5.1 2026-03-04 02:15:09 +00:00
github-actions[bot] 0faa50cd9d chore: release v0.5.0 2026-02-13 14:32:56 +00:00
github-actions[bot] 3796d57d12 chore: release v0.4.1 2026-02-12 20:44:31 +00:00
github-actions[bot] 515758c829 chore: bump version to 0.4.0 2026-02-12 20:01:15 +00:00
Chris Farhood 3b6d7e6b6c chore: bump version to 0.3.12 2026-02-12 12:24:13 -05:00
Chris Farhood 44fe9ab749 Fix/update org references (#13)
* chore: bump version to 0.3.11

* fix: update owner references from cpfarhood to privilegedescalation

- Updated artifacthub-repo.yml owner
- Updated artifacthub-pkg.yml maintainer
- Updated package.json author

Part of organization migration from cpfarhood to privilegedescalation.
2026-02-12 11:57:10 -05:00
Chris Farhood d4fa1674dc chore: update repository references to privilegedescalation org
Repository transferred from cpfarhood to privilegedescalation organization.

Updated all references in:
- Configuration files (package.json, artifacthub-pkg.yml)
- Documentation (README, CONTRIBUTING, SECURITY, docs/)
- Workflow files

GitHub Actions workflows will continue to work as they use
${{ github.repository }} which auto-updates.

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-12 10:46:44 -05:00
Chris Farhood ece87a9824 chore: bump version to 0.3.10
Fixes:
- Drawer transparency using --mui-palette-background-default
- Plugin settings page blank due to name mismatch

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-12 10:32:51 -05:00
Chris Farhood 0659afcf6e chore: bump version to 0.3.9
Fixes drawer transparency by using --mui-palette-background-default
which is fully opaque and follows Headlamp's theme system.

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-12 09:37:07 -05:00
Chris Farhood b816886d6c chore: bump version to 0.3.8
Fix release workflow immutability issues.

Release includes:
- Drawer opacity fix for namespace detail view (#12)
- Plugin display name change to 'polaris' (#9)
- Repository metadata in package.json (#11)
- E2E tests using on-prem k3s-animaniacs runners (#10)

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-12 08:33:09 -05:00
Chris Farhood cbdbe732e4 chore: bump version to 0.3.7
Skipping v0.3.6 due to GitHub immutable release issue.

Release includes:
- Drawer opacity fix for namespace detail view (#12)
- Plugin display name change to 'polaris' (#9)
- Repository metadata in package.json (#11)
- E2E tests using on-prem k3s-animaniacs runners (#10)
- Release workflow tarball name fix

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-12 08:28:20 -05:00
Chris Farhood 202f3599a3 chore: bump version to 0.3.6
Release includes:
- Drawer opacity fix for namespace detail view
- Plugin display name change to 'polaris'
- Repository metadata in package.json
- E2E tests using on-prem k3s-animaniacs runners

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-12 08:25:24 -05:00
Chris Farhood 0370b86af2 feat: add repository metadata to package.json (#11)
Add repository, bugs, homepage, author, and license fields to enable GitHub link in Headlamp plugin UI.

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-12 08:17:54 -05:00
Chris Farhood 0cf259f0b9 fix: change plugin display name from 'headlamp-polaris-plugin' to 'polaris' (#9)
Update package.json name field to show cleaner name in Headlamp Settings → Plugins.

Before: headlamp-polaris-plugin
After: polaris

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2026-02-12 08:06:05 -05:00
Chris Farhood 96a0cce17e chore: bump version to 0.3.5 2026-02-11 23:26:13 -05:00
Chris Farhood 33ef816826 chore: bump version to 0.3.4 2026-02-11 22:44:29 -05:00
Chris Farhood c3b2877c51 chore: bump version to 0.3.3 2026-02-11 22:41:11 -05:00
Chris Farhood 01eed82efc chore: bump version to 0.3.2 2026-02-11 22:19:07 -05:00
Chris Farhood 20e8063cbb chore: bump version to 0.3.1
- Update package.json version
- Update artifacthub-pkg.yml version and archive URL
- Add PROJECT_ASSESSMENT.md for tracking improvements
- Add deployment/ directory with plugin loading fix documentation

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-11 21:48:04 -05:00
Chris Farhood 811059cf75 feat: comprehensive Polaris integration enhancements
Major new features:
- App bar score badge showing cluster Polaris score
- Inline audit results in Deployment/StatefulSet/DaemonSet/Job/CronJob detail views
- Exemption management UI with annotation PATCH support
- Top issues table on overview dashboard
- Audit time display and manual refresh button
- Connection test button in settings
- Check ID to human-readable name mapping
- Enhanced error messages with context

Technical improvements:
- Added triggerRefresh to PolarisDataContext for manual refresh
- Created checkMapping.ts for check metadata
- Created topIssues.ts for extracting common failures
- Enhanced DashboardView with top issues and refresh
- Enhanced PolarisSettings with connection test
- Created InlineAuditSection for details view integration
- Created AppBarScoreBadge for app bar integration
- Created ExemptionManager for annotation patches

UI enhancements:
- 1000px namespace detail panel
- Theme-aware styling throughout
- Improved formatting and layout
- Better status indicators

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-11 20:21:45 -05:00
Chris Farhood db17a08d26 fix: improve theming and settings visibility
- Fix namespace detail panel to follow system dark/light theme
- Use proper CSS custom properties for background and text colors
- Fix plugin settings registration (remove deprecated third parameter)
- Ensure close button and headers respect theme colors
- Version bump to 0.2.5

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-11 19:24:33 -05:00
Chris Farhood 8d219a9c6e ui: increase namespace detail panel width to 1000px
- Expand side panel from 800px to 1000px for better content viewing
- Version bump to 0.2.4

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-11 18:06:29 -05:00
Chris Farhood c95aab3ca3 feat: add full URL support for custom Polaris dashboards
- Add isFullUrl() helper to detect full vs proxy URLs
- Support both K8s proxy URLs and direct HTTP/HTTPS URLs
- Use fetch() for full URLs, ApiProxy for K8s proxy URLs
- Improve error messages with context-specific guidance
- Update settings with examples for both URL types
- Version bump to 0.2.3

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-11 13:35:35 -05:00
Chris Farhood 44a0016a4d feat: add configurable Polaris dashboard URL setting
- Add getDashboardUrl() and setDashboardUrl() functions to polaris.ts
- Update PolarisSettings with dashboard URL input field
- Replace hardcoded POLARIS_DASHBOARD_PROXY with configurable getPolarisProxyUrl()
- Increase namespace detail panel width to 800px
- Remove unused 'Skipped' field from overview dashboard
- Version bump to 0.2.2

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-11 13:31:40 -05:00
Chris Farhood 861dff6901 chore: bump version to 0.2.1
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-11 12:05:57 -05:00
Chris Farhood a507ba1d4a chore: bump version to 0.2.0 2026-02-10 06:49:39 -05:00