Commit Graph

176 Commits

Author SHA1 Message Date
Chris Farhood 0e711f5dfd docs: add CONTRIBUTING.md and CHANGELOG.md (Priority 1)
Add comprehensive contributor guidelines and complete changelog documenting
all 34 versions from v0.0.1 to v0.3.4. This implements Priority 1 from the
documentation-engineer analysis.

CONTRIBUTING.md includes:
- Development workflow and setup
- Branching strategy (feat/, fix/, docs/, etc.)
- Commit message conventions (Conventional Commits)
- Pull request process and checklist
- Code style guidelines (TypeScript, React, imports)
- Testing requirements (unit + E2E)
- Documentation update requirements
- Release process for maintainers

CHANGELOG.md includes:
- All 34 released versions with categorized changes
- Features, fixes, changes, infrastructure updates
- Links to GitHub releases for each version
- Follows Keep a Changelog format
- Semantic versioning

Documentation completeness: 65% → 75%

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 23:14:13 -05:00
Chris Farhood 67ced98bcd fix: resolve eslint import sorting and unused import issues
Run eslint autofix to sort imports and remove unused ResultCounts import
from InlineAuditSection. This fixes CI lint failures.

Changes:
- Sort imports in all source files per eslint-plugin-import rules
- Remove unused ResultCounts import from InlineAuditSection.tsx

All CI checks now pass:
-  Build successful
-  Lint clean (no warnings)
-  Type-check passing
-  Format check passing
-  Unit tests passing (50/50)

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 23:05:30 -05:00
Chris Farhood f02b4cf051 chore: migrate from Gitea to GitHub Actions exclusively
Remove Gitea workflows and consolidate to GitHub Actions as the single
CI/CD platform. GitHub is now the sole source of truth for the project.

Changes:
- Remove .gitea/workflows/ directory entirely
  - ai-review.yaml (Gitea-specific, not migrating)
  - e2e.yaml (replaced by .github/workflows/e2e.yaml)
  - release.yaml (already exists at .github/workflows/release.yaml)
- Migrate .gitea/workflows/ci.yaml → .github/workflows/ci.yaml
  - Add unit tests to CI workflow
  - Use Node.js 20 with npm caching
  - Add 10-minute timeout

GitHub Actions Workflows:
- ci.yaml: Lint, type-check, format-check, build, test
- e2e.yaml: End-to-end Playwright tests
- release.yaml: Build tarball, create GitHub release, update ArtifactHub metadata

Repository Setup:
- Single remote: https://github.com/cpfarhood/headlamp-polaris-plugin
- All development, CI/CD, and releases happen on GitHub
- ArtifactHub pulls releases from GitHub every 30 minutes

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 23:03:24 -05:00
Chris Farhood 51b174e68d docs: enhance E2E testing with comprehensive docs and new tests
Add comprehensive Playwright E2E testing documentation and additional
test coverage for app bar badge and plugin settings functionality.

Changes:
- Add GitHub Actions workflow for E2E tests (.github/workflows/e2e.yaml)
- Create .env.example for local test configuration
- Update .gitignore to exclude .env files
- Enhance e2e/README.md with:
  - Detailed test coverage documentation
  - Cluster requirements and prerequisites
  - Debugging guides and troubleshooting tips
  - CI/CD integration instructions for GitHub Actions
  - Best practices and examples for writing new tests
- Add e2e/settings.spec.ts:
  - Test plugin settings page visibility
  - Test refresh interval configuration
  - Test dashboard URL configuration
  - Test connection test button
- Add e2e/appbar.spec.ts:
  - Test badge displays cluster score
  - Test badge navigation to overview
  - Test badge color reflects score level
  - Test badge updates across clusters

Test Results (v0.3.4):
- 5/16 tests passing (sidebar, namespaces, drawer functionality)
- 11/16 failing due to missing v0.3.4 features (settings, app bar badge)
- Tests will pass once plugin is updated to v0.3.4 in cluster

The E2E test suite now provides comprehensive coverage of:
- Plugin registration and loading
- Navigation and routing
- Settings configuration
- App bar integration
- Dark mode support
- Data fetching and rendering

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 23:02:05 -05:00
github-actions[bot] 5188bc289e ci: update artifact hub metadata for v0.3.4 v0.3.4 2026-02-12 03:45:07 +00:00
Chris Farhood 33ef816826 chore: bump version to 0.3.4 2026-02-11 22:44:29 -05:00
Chris Farhood ea28ab3a81 Merge pull request #5 from cpfarhood/fix/dark-mode-theme-support
fix: add dark mode support using MUI CSS variables
2026-02-11 22:44:06 -05:00
Chris Farhood 57f0bf6b4b fix: add dark mode support using MUI CSS variables
Replace all hardcoded colors with Headlamp's MUI CSS variables to ensure
proper theme support in both light and dark modes. This fixes the issue
where plugin UI elements had white backgrounds when the site switched to
dark mode.

Changes:
- PolarisSettings: Use theme variables for input, button, text colors
- ExemptionManager: Use theme variables for all buttons and UI elements
- DashboardView: Use theme variables for refresh button
- AppBarScoreBadge: Keep semantic colors (green/orange/red) for status

CSS Variables Used:
- --mui-palette-primary-main: Primary action color
- --mui-palette-primary-contrastText: Text on primary bg
- --mui-palette-background-paper: Card/paper backgrounds
- --mui-palette-text-primary: Primary text color
- --mui-palette-text-secondary: Secondary text color
- --mui-palette-divider: Border/divider colors
- --mui-palette-action-disabled: Disabled text color
- --mui-palette-action-disabledBackground: Disabled bg color
- --mui-palette-error-main: Error/danger actions

All tests passing (50/50), build successful.

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 22:43:52 -05:00
github-actions[bot] 8dd71772f5 ci: update artifact hub metadata for v0.3.3 v0.3.3 2026-02-12 03:41:49 +00:00
Chris Farhood c3b2877c51 chore: bump version to 0.3.3 2026-02-11 22:41:11 -05:00
Chris Farhood 62aa181433 Merge pull request #4 from cpfarhood/fix/plugin-settings-registration
fix: correct plugin settings registration name and add save button
2026-02-11 22:40:45 -05:00
Chris Farhood 2c077907e9 fix: correct plugin settings registration name and add save button
The plugin settings were not showing because the registration name was
incorrect. Changed from 'polaris' to 'headlamp-polaris-plugin' (matching
package.json name) and added displaySaveButton=true parameter.

According to Headlamp plugin API:
registerPluginSettings(name, component, displaySaveButton)

The name must match the plugin name from package.json.

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 22:40:34 -05:00
github-actions[bot] 17495d4883 ci: update artifact hub metadata for v0.3.2 v0.3.2 2026-02-12 03:19:50 +00:00
Chris Farhood 01eed82efc chore: bump version to 0.3.2 2026-02-11 22:19:07 -05:00
Chris Farhood 5dab426fe8 Merge pull request #3 from cpfarhood/fix/remove-mui-dependencies
fix: remove all MUI dependencies causing plugin load failure
2026-02-11 22:18:43 -05:00
Chris Farhood 5eaa6603f1 fix: remove all MUI dependencies causing plugin load failure
Replace all @mui/material and @mui/icons-material imports with standard
HTML elements and inline styles. This fixes the browser error:
"TypeError: undefined is not an object (evaluating 'q.createSvgIcon')"

The Headlamp plugin environment doesn't provide the full MUI library,
so plugins must use only Headlamp CommonComponents or standard HTML.

Changes:
- AppBarScoreBadge: Replace Chip and ShieldIcon with button and emoji
- DashboardView: Replace Button and RefreshIcon with button and emoji
- ExemptionManager: Replace all MUI form components with HTML equivalents
- PolarisSettings: Replace Button with HTML button

All tests passing (50/50), TypeScript compilation clean, build successful.

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 22:18:20 -05:00
github-actions[bot] b67f770660 ci: update artifact hub metadata for v0.3.1 v0.3.1 2026-02-12 02:49:01 +00: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 c1156e5cf5 Merge pull request #2 from cpfarhood/fix/typescript-errors-and-tests
fix: resolve TypeScript compilation errors and failing tests
2026-02-11 21:47:50 -05:00
Chris Farhood cab2118a88 fix: resolve TypeScript compilation errors and failing tests
- Update registerDetailsViewSection and registerAppBarAction calls to match new Headlamp plugin API (single argument)
- Add SimpleTable mock to DashboardView tests
- Fix all TypeScript compilation errors
- All 50 tests now passing

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:47:32 -05:00
github-actions[bot] a18710ccb1 ci: update artifact hub metadata for v0.3.0 v0.3.0 2026-02-12 01:24:24 +00: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
github-actions[bot] a404c075d6 ci: update artifact hub metadata for v0.2.5 v0.2.5 2026-02-12 00:25:14 +00: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
github-actions[bot] e52670dee4 ci: update artifact hub metadata for v0.2.4 v0.2.4 2026-02-11 23:07:13 +00: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
github-actions[bot] b2cbce16c1 ci: update artifact hub metadata for v0.2.3 v0.2.3 2026-02-11 18:36:20 +00: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
github-actions[bot] 604106c688 ci: update artifact hub metadata for v0.2.2 v0.2.2 2026-02-11 18:32:26 +00: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
github-actions[bot] 03d7379e13 ci: update artifact hub metadata for v0.2.1 v0.2.1 2026-02-11 17:07:01 +00: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 03b75a836b Migrate to GitHub as primary repository + fix v0.2.0 checksum (#1)
* ci: fix checksum for manually created GitHub release v0.2.0

The GitHub release was created manually with gh CLI, so the checksum
in metadata didn't match. This updates the checksum to match the actual
tarball on GitHub.

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>

* refactor: migrate to GitHub as primary repository

- Move release workflow from Gitea Actions to GitHub Actions
- Update checksum to match manually created GitHub v0.2.0 release
- Simplify workflow by removing Gitea-specific steps
- Use softprops/action-gh-release for easier release management

This eliminates the complexity of Gitea mirroring and the issues
with GH_TOKEN authentication in Gitea Actions.

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>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2026-02-10 16:59:37 -05:00
Chris Farhood 83a5342011 Merge pull request 'fix: use GH_TOKEN secret instead of GITHUB_TOKEN' (#31) from fix/use-gh-token-secret into main
Reviewed-on: farhoodliquor/headlamp-polaris-plugin#31
v0.2.0
2026-02-10 15:35:40 -05:00
Chris Farhood 3daa1cbc14 fix: use GH_TOKEN secret instead of GITHUB_TOKEN 2026-02-10 15:34:36 -05:00
Chris Farhood 9c03d912df Merge pull request 'fix: add GitHub release creation to workflow' (#30) from fix/add-github-release into main
Reviewed-on: farhoodliquor/headlamp-polaris-plugin#30
2026-02-10 15:30:46 -05:00
Chris Farhood 00d4b224eb fix: add GitHub release creation to workflow
Gitea's push mirroring syncs git objects (branches, tags, commits)
but does not sync GitHub release objects or assets. Since ArtifactHub
needs to download the plugin tarball from the GitHub release URL,
the workflow must create releases on both Gitea and GitHub.

Changes:
- Added "Create GitHub release" step after Gitea release
- Uses GITHUB_TOKEN secret for GitHub API authentication
- Creates release and uploads tarball to GitHub
- Mirroring still handles git data sync

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-10 15:28:41 -05:00
Chris Farhood c1248ec3c4 Merge pull request 'chore: update artifact hub metadata for v0.2.0' (#29) from chore/update-checksum-v0.2.0 into main
Reviewed-on: farhoodliquor/headlamp-polaris-plugin#29
2026-02-10 15:20:08 -05:00
Chris Farhood 7ac5d0a494 ci: update artifact hub metadata for v0.2.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-10 09:02:43 -05:00
Chris Farhood 59c1d4e844 Merge pull request 'chore: bump version to 0.2.0' (#28) from release/0.2.0 into main
Reviewed-on: farhoodliquor/headlamp-polaris-plugin#28
2026-02-10 07:07:52 -05:00
Chris Farhood a507ba1d4a chore: bump version to 0.2.0 2026-02-10 06:49:39 -05:00
Chris Farhood d03fb81cd5 Merge pull request 'main' (#27) from farhoodliquor/headlamp-polaris-plugin-dev:main into main
Reviewed-on: farhoodliquor/headlamp-polaris-plugin#27
2026-02-10 06:48:47 -05:00
Chris Farhood d4d593cf74 merge: bring dev branch to main 2026-02-10 06:40:30 -05:00
Chris Farhood 2facb1b22b Merge pull request 'fix: remove GitHub push logic from workflow' (#25) from fix/remove-github-push-logic into dev
Reviewed-on: farhoodliquor/headlamp-polaris-plugin#25
2026-02-10 06:29:52 -05:00
Chris Farhood 104a7fb2ba fix: remove GitHub push logic, rely on Gitea mirroring instead 2026-02-10 06:25:51 -05:00
Chris Farhood b9e9484bf0 Merge pull request 'chore: bump version to 0.1.7' (#24) from release/0.1.7 into main
Reviewed-on: farhoodliquor/headlamp-polaris-plugin#24
v0.1.7
2026-02-09 21:01:24 -05:00
Chris Farhood 22d88cfca4 Merge pull request 'docs: remove incorrect dev installation instructions' (#23) from docs/remove-sidecar-instructions into main
Reviewed-on: farhoodliquor/headlamp-polaris-plugin#23
2026-02-09 21:01:18 -05:00
Chris Farhood 48dcb214b9 chore: bump version to 0.1.7 2026-02-09 20:58:41 -05:00
Chris Farhood c0681162e7 fix: push dev branch to GitHub for ArtifactHub discovery 2026-02-09 20:05:05 -05:00
Chris Farhood 762056e46c docs: remove incorrect dev installation instructions 2026-02-09 17:50:08 -05:00