Commit Graph

11 Commits

Author SHA1 Message Date
Chris Farhood b44f118196 fix: update owner references from cpfarhood to privilegedescalation
- Updated artifacthub-repo.yml owner and email
- Updated all artifacthub-pkg.yml files (current and historical versions)
- Updated package.json author
- Updated README.md badge URLs
- Updated all version-specific metadata files

Part of organization migration from cpfarhood to privilegedescalation.
2026-02-12 11:55:25 -05:00
Chris Farhood 5fabf1e518 fix: rebuild v0.2.4 tarball with correct package structure
The plugin was not appearing in the sidebar because the installed
v0.2.4 tarball had the old v0.2.0 package.json with the broken
"main": "dist/main.js" field.

Changes:
- Rebuilt tarball with correct v0.2.4 package.json (no "main" field)
- Updated checksum: 42545048578d613483993a233326abf6a952b920baf3997fed00e989eb0aa5ba
- main.js is now correctly placed in plugin root (not in dist/ subdirectory)

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 11:34:36 -05:00
Chris Farhood a11b2351a5 release: v0.2.4 - fix icon loading (proper version bump)
This is a proper version bump from v0.2.3 to v0.2.4 after discovering that
v0.2.3 was already published on Artifact Hub with a different tarball checksum.

Replace all Material-UI icon imports with Iconify equivalents to fix plugin loading.
Headlamp provides @iconify/react as a global, not @mui/icons-material.

Icon mappings:
- ErrorOutline → mdi:alert-circle-outline
- ContentCopy → mdi:content-copy
- Visibility → mdi:eye
- VisibilityOff → mdi:eye-off
- CheckCircle → mdi:check-circle
- Error → mdi:alert-circle
- Warning → mdi:alert
- Add → mdi:plus
- Delete → mdi:delete

Also fixed test-setup.ts lint errors (unused parameters).

Tarball checksum: SHA256:49062f6e9f68de49b83d53176d0bc09ce632d3df11e3397459342f51f6282131

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 11:06:43 -05:00
Chris Farhood cc7df73685 release: v0.2.3 - replace Material-UI icons with Iconify
Replace all Material-UI icon imports with Iconify equivalents to fix plugin loading.
Headlamp provides @iconify/react as a global, not @mui/icons-material.

Icon mappings:
- ErrorOutline → mdi:alert-circle-outline
- ContentCopy → mdi:content-copy
- Visibility → mdi:eye
- VisibilityOff → mdi:eye-off
- CheckCircle → mdi:check-circle
- Error → mdi:alert-circle
- Warning → mdi:alert
- Add → mdi:plus
- Delete → mdi:delete

Also fixed test-setup.ts lint errors (unused parameters).

Tarball checksum: SHA256:5eb6273488fdf337486311c289f8db3aa5f2505ddbe5b9dd5b8c74b1e15f0032

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 11:01:36 -05:00
Chris Farhood 46d59b48b5 chore: migrate repository to privilegedescalation organization
Updated all GitHub URLs from cpfarhood to privilegedescalation organization:
- Repository URLs in package.json and Artifact Hub metadata
- Documentation links and references
- Git remote updated

No functional changes - this is purely an organizational migration.

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-12 10:50:30 -05:00
Chris Farhood 1b86c639ca fix: remove broken logo URL from Artifact Hub metadata
The Sealed Secrets logo URL returns 404. Removed logoURL field
since it's optional and Artifact Hub will use a default icon.

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 07:18:29 -05:00
Chris Farhood be7a135dd3 docs: remove 'production ready' marketing speak
Replaced with more straightforward language:
- 'production-ready features' → removed
- 'Production Ready' → 'Built for Reliability'

Removed from:
- README.md tagline and highlights section
- artifacthub-pkg.yml descriptions (both locations)

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:50:21 -05:00
Chris Farhood 0e7f9abdec fix: correct Artifact Hub metadata for plugin publication
Fixed Artifact Hub validation issues:

**Checksum Format**:
- Changed from raw checksum to "SHA256:checksum" format
- This is required by Artifact Hub for Headlamp plugins
- Example: SHA256:55a1a387d65a8d92545033670d07dedd77a72fd228125331ab93136f8ac87f1c

**Added Required Annotations**:
- headlamp/plugin/version-compat: ">=0.13.0" - Headlamp version compatibility
- headlamp/plugin/distro-compat: "desktop,in-cluster,web,docker-desktop" - Distribution support

**Directory Structure**:
- Created proper package structure: headlamp-sealed-secrets-plugin/0.2.0/
- Copied artifacthub-pkg.yml to version directory
- Copied README.md for package documentation
- Follows Artifact Hub Headlamp plugin requirements

**Repository Structure**:
```
.
├── artifacthub-repo.yml (repository metadata)
└── headlamp-sealed-secrets-plugin/
    └── 0.2.0/
        ├── artifacthub-pkg.yml (package metadata)
        └── README.md (package docs)
```

References:
- https://artifacthub.io/docs/topics/annotations/headlamp/
- https://artifacthub.io/docs/topics/repositories/headlamp-plugins/
- https://github.com/headlamp-k8s/plugins (official examples)

This should resolve the Artifact Hub validation errors and allow
the plugin to be published successfully.

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:49:43 -05:00
Chris Farhood 92cbea0add fix: add required Artifact Hub annotations for Headlamp plugin
Add missing Headlamp plugin annotations required by Artifact Hub:
- headlamp/plugin/archive-url: GitHub release URL for v0.2.0 tarball
- headlamp/plugin/archive-checksum: SHA256 checksum of plugin archive

Changes:
- Added annotations section with archive URL and checksum
- Updated provider name from placeholder to "cpfarhood"
- Included v0.2.0 plugin tarball (99.5 kB)

This fixes the Artifact Hub validation error:
  "required annotation headlamp/plugin/archive-url not provided"
  "required annotation headlamp/plugin/archive-checksum not provided"

Plugin tarball details:
- File: headlamp-sealed-secrets-0.2.0.tar.gz
- SHA256: 55a1a387d65a8d92545033670d07dedd77a72fd228125331ab93136f8ac87f1c
- Size: 99,567 bytes
- Contents: dist/main.js (359 kB), package.json

Next steps:
1. Create GitHub release v0.2.0
2. Upload tarball to release
3. Artifact Hub will pick up on next scan

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:16:28 -05:00
Chris Farhood 4740179b0b chore: bump version to 0.2.0 for Artifact Hub
Update version metadata to 0.2.0 in preparation for Artifact Hub release.

Changes:
- package.json: 0.1.0 → 0.2.0
- artifacthub-pkg.yml: version and appVersion 0.1.0 → 0.2.0
- Enhanced description to highlight WCAG 2.1 AA accessibility

This version includes:
- Phase 1: Type-safe error handling (Result types, branded types, validators, retry logic)
- Phase 2: UX improvements (cert expiry warnings, health checks, RBAC, API version detection)
- Phase 3: Performance optimizations (React.memo, debouncing, lazy loading)
- Phase 4.1: Unit tests (36/39 passing - types, retry, validators)

Artifact Hub will pick up this version on next scan.

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:33:38 -05:00
Chris Farhood dddbd30677 Initial release: Headlamp Sealed Secrets plugin v0.1.0
Features:
- Complete SealedSecret CRD integration with Headlamp
- Client-side encryption using controller's public key
- Support for all three scoping modes (strict, namespace-wide, cluster-wide)
- List and detail views for SealedSecrets
- Encryption dialog for creating new SealedSecrets
- Decryption support with RBAC awareness
- Sealing keys management
- Settings page for controller configuration
- Integration with Secret detail view

Technical:
- Full TypeScript with strict mode
- ~1,345 lines of code
- Build size: 339.42 kB (93.21 kB gzipped)
- Compatible with Headlamp v0.13.0+
- Apache 2.0 license

Security:
- All encryption performed client-side
- RSA-OAEP + AES-256-GCM (kubeseal-compatible)
- Auto-hide decrypted values after 30 seconds

Closes: Initial implementation
2026-02-11 20:31:20 -05:00