133 Commits

Author SHA1 Message Date
github-actions[bot] 171b3895c0 release: v0.2.22 v0.2.22 2026-03-09 03:18:49 +00:00
github-actions[bot] b335bf1d7b release: v0.2.22 2026-03-09 03:16:11 +00:00
github-actions[bot] 60ae9391ea release: v0.2.22 2026-03-09 03:11:44 +00:00
DevContainer User d508f38292 fix: add archive checksum to ArtifactHub metadata
Empty checksum causes headlamp plugin manager to reject the plugin
with "Invalid plugin metadata".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 02:53:46 +00:00
Chris Farhood 277b91f2ee Merge pull request #8 from privilegedescalation/gandalf/ah-rename-headlamp-sealed-secrets
Update Artifact Hub metadata for package rename
2026-03-08 11:43:18 -04:00
Chris Farhood ef439583ac Merge pull request #7 from privilegedescalation/feat/add-upstream-appversion-tracking
feat: auto-track upstream appVersion in releases
2026-03-08 11:42:57 -04:00
gandalf-the-greybeard[bot] 067b75ba21 Update Artifact Hub metadata for package rename
Renamed from sealed-secrets to headlamp-sealed-secrets on Artifact Hub
with new repository ID 3d4645ad-d227-4fc0-8cae-8f8ee7794da2.

Ref: PRI-31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 13:29:02 +00:00
Hugh Hackman 0bf9c41c98 feat: add upstream appVersion tracking to release workflow
Configures the reusable release workflow to fetch the latest release
tag from bitnami-labs/sealed-secrets and set appVersion in artifacthub-pkg.yml.
This keeps our Artifact Hub listing in sync with the upstream project.
2026-03-08 12:29:14 +00:00
hugh-hackman[bot] 7aa92ac1fb Merge PR #6
* ci: switch to org-level reusable workflows

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

* chore: retrigger CI after reusable workflows merged

* feat: add workflow_dispatch to CI workflow

---------

Co-authored-by: hugh-hackman[bot] <hugh-hackman[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: hugh-hackman[bot] <266376744+hugh-hackman[bot]@users.noreply.github.com>
2026-03-08 11:16:27 +00:00
gandalf-the-greybeard[bot] 01895297cd Enhance Renovate configuration (#5)
- Target main branch explicitly
- Set weekly schedule (weekends)
- Limit concurrent PRs to 10
- Group minor/patch updates for npm and github-actions to reduce PR noise

Ref: PRI-16

Co-authored-by: Gandalf Greybeard <gandalf@privilegedescalation.dev>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 19:01:11 +00:00
Chris Farhood 64fd6f31f5 Merge pull request #4 from privilegedescalation/fix/artifacthub-checksum-annotation
fix: add missing archive-checksum annotation for Artifact Hub
2026-03-07 12:47:29 -05:00
Gandalf Greybeard a679e4c16c fix: add missing archive-checksum annotation to artifacthub-pkg.yml
Artifact Hub requires the headlamp/plugin/archive-checksum annotation.
The release workflow's sed replacement (Compute checksum step) expects
this line to already exist in order to substitute the actual SHA256
checksum at release time. Without it, the sed silently does nothing
and AH rejects the package metadata.

Adds an empty placeholder that the release workflow will populate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:06:52 +00:00
Chris Farhood 3997399aef Merge pull request #3 from privilegedescalation/fix/repo-metadata
chore: add LICENSE and FUNDING.yml
2026-03-07 10:37:16 -05:00
Chris Farhood 394c8396c7 chore: add FUNDING.yml 2026-03-07 08:03:03 -05:00
Chris Farhood fff99c03ba chore: add Apache-2.0 LICENSE file 2026-03-07 08:03:03 -05:00
DevContainer User a79b7be961 docs: add architecture decision records for error boundaries and hooks architecture
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:49:54 +00:00
DevContainer User e755f69023 Add artifacthub-headlamp agent skill
Adds Claude Code agent skill for ArtifactHub metadata and publishing,
sourced from headlamp-agent-skills repository.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:32:16 +00:00
DevContainer User 4c378015eb release: v0.2.22
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:13:05 +00:00
DevContainer User 9d9bc5f22f fix: remove any types, dead code, unused exports; add comprehensive tests
- Fix handleRotate bug ignoring Result from rotateSealedSecret()
- Fix dead code branch in useControllerHealth
- Replace all `any` types with `unknown` + type guards
- Delete unused functions/exports (452 lines removed)
- Add 18 new test files covering all hooks, libs, and components
- 233 tests passing, zero tsc errors, zero lint issues

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:13:00 +00:00
DevContainer User 3dc2f92a87 release: v0.2.21
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.2.21
2026-03-04 12:44:35 +00:00
DevContainer User 479d0c315e fix: hardcoded color, missing async cancellation, a11y gaps, any types
SealingKeysView: replace hardcoded #666 with var(--mui-palette-text-secondary)
SealedSecretDetail:
- Add cancelled flag to canDecryptSecrets useEffect
- Add aria-label to close button, decrypt buttons, delete dialog
- Replace any types in SimpleTable column getters with { key, value }

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 12:40:46 +00:00
DevContainer User 761f7cf242 fix: correct broken links, stale versions, and dead references in docs
- README: fix LICENSE link, remove dead doc links, update install
  instructions, remove hardcoded version/bundle size/LOC metrics
- artifacthub-pkg.yml: fix appVersion 0.2.18 → 0.2.20, fix README
  path, fix build-from-source cd path
- docs/README.md: trim to only reference files that actually exist
  (was 160 lines of aspirational links, now 47 lines of real ones)
- CLAUDE.md: correct "no MUI imports" claim — code uses @mui/material
- headlamp-plugin-developer agent: match corrected MUI convention

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 12:22:38 +00:00
DevContainer User 0a3b77f140 feat: add Claude Code agent definitions
Add 4 agents to .claude/agents/:
- headlamp-plugin-developer: Headlamp SDK reference, registration APIs,
  CommonComponents, CRD patterns, theming/dark mode, and test mocks
- agent-installer: browse/install agents from awesome-claude-code-subagents
- agent-organizer: multi-agent team assembly and task decomposition
- multi-agent-coordinator: concurrent agent coordination and sync

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 12:15:40 +00:00
github-actions[bot] 2cf339ea2c release: v0.2.20 v0.2.20 2026-03-04 02:45:42 +00:00
DevContainer User 715b97efa1 fix: add --allow-same-version for idempotent release retries
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 02:41:34 +00:00
github-actions[bot] c68442f6d3 release: v0.2.19 v0.2.19 2026-03-04 02:13:03 +00:00
DevContainer User e0d62ccdfc fix: use softprops/action-gh-release for self-hosted runner
The self-hosted runner doesn't have gh CLI installed. Restore the
original softprops/action-gh-release@v2 action for creating releases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 02:08:11 +00:00
DevContainer User 2b3b574130 Revert "release: v0.2.19"
This reverts commit f46f940617.
2026-03-04 02:08:03 +00:00
github-actions[bot] f46f940617 release: v0.2.19 2026-03-04 02:05:19 +00:00
DevContainer User 0b3562bdc1 fix: remove redundant tarball rename in release workflow
The mv was a leftover from when the plugin built in a subdirectory.
Now that source lives at repo root, the tarball is already correctly
named — just verify it exists instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 01:48:16 +00:00
DevContainer User 017e28b1f8 fix: move Node.js setup before npm version in release workflow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 01:09:30 +00:00
DevContainer User b0ad4e3102 style: format all source files with Prettier
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:55:42 +00:00
DevContainer User 8390aeb5df ci: standardize CI/CD workflows and add Renovate
- CI: single sequential job, local-ubuntu-latest runner, Node 22, workflow_call trigger, npm run commands
- Release: CI gate via reusable workflow, concurrency protection, dynamic package name, tarball validation, gh CLI
- Delete test-runner.yaml (one-time runner diagnostic)
- Add renovate.json with recommended config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:41:37 +00:00
DevContainer User af95c3795c chore: move source to repo root and standardize config
Phase 1 — Structural overhaul:
- Move all source from headlamp-sealed-secrets/ subdirectory to repo root
- Delete 23 AI-generated docs, 8 pre-built tarballs, release snapshots dir
- Remove all working-directory refs from CI/release workflows
- Update install-plugin.sh and typedoc.json paths

Phase 2 — Config standardization:
- Create .eslintrc.js and .prettierrc.js (standard Headlamp configs)
- Remove inline eslintConfig/prettier from package.json (drop jsx-a11y, prettier extends)
- Rewrite tsconfig.json (package name extend, add compilerOptions.types)
- Create vitest.config.mts and vitest.setup.ts (standard from polaris)
- Replace headlamp-plugin CLI scripts with direct tool invocation
- Rewrite .gitignore with standard baseline

Phase 3 — MCP & Claude settings:
- Create .mcp.json with github/kubernetes/flux/playwright servers
- Create .claude/settings.local.json
- Remove 7 specialized agents, keep 3 meta-orchestration agents

Phase 4 — Documentation:
- Rewrite CLAUDE.md (remove subdirectory refs, standard format)
- Add ArtifactHub badge, Architecture section, standardized install methods to README.md
- Create CONTRIBUTING.md and SECURITY.md
- Fix pre-existing test bugs in validators.test.ts (isValidNamespace returns boolean,
  not ValidationResult; error message string mismatches)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:31:12 +00:00
github-actions[bot] 604fe06f9c chore: release v0.2.18 2026-02-13 21:16:07 +00:00
Chris Farhood 0a9854264b fix: use proper Headlamp plugin settings interface
SettingsPage now accepts PluginSettingsProps (data, onDataChange)
and is registered directly as a component (not wrapped in function).
This matches the pattern used in headlamp-polaris-plugin.

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-13 16:14:57 -05:00
github-actions[bot] cd5a8c40ee chore: release v0.2.18 v0.2.18 2026-02-13 21:00:55 +00:00
Chris Farhood 1ec8340a0f fix: restore SectionBox wrapper in SettingsPage to fix React context
The plugin settings page requires SectionBox from CommonComponents
to properly initialize the React context. Without it, React.useState
is undefined causing runtime errors.

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-13 15:59:25 -05:00
github-actions[bot] 2f746486db chore: release v0.2.17 v0.2.17 2026-02-13 18:01:14 +00:00
Chris Farhood 55b10c5ab2 fix: use jq instead of node for package name extraction
jq is available in GitHub Actions without needing Node.js setup first.

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-13 12:59:54 -05:00
Chris Farhood a7761e992b fix: make release workflow use dynamic package name from package.json
Changed hardcoded 'headlamp-sealed-secrets' references to dynamically
read package name, allowing package.json name to be 'sealed-secrets'.

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-13 12:59:10 -05:00
Chris Farhood 679922e711 fix: change package name from headlamp-sealed-secrets to sealed-secrets
This matches the polaris plugin naming convention where the package
name is just 'polaris', causing Headlamp to display 'sealed-secrets'
in the plugin settings list instead of 'headlamp-sealed-secrets'.

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-13 12:56:44 -05:00
github-actions[bot] 248ffa4962 chore: release v0.2.16 v0.2.16 2026-02-13 17:54:57 +00:00
Chris Farhood 0b082984a7 chore: bump version to 0.2.16 2026-02-13 12:53:36 -05:00
Chris Farhood 4da3513015 feat: add displayName to package.json for proper UI display
Set displayName to 'Sealed Secrets' so the plugin settings list shows
the friendly name instead of the package name 'headlamp-sealed-secrets'.

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-13 12:53:28 -05:00
github-actions[bot] 74af59ef50 chore: release v0.2.15 v0.2.15 2026-02-13 15:13:39 +00:00
Chris Farhood 67287158fd chore: bump version to 0.2.15 2026-02-13 10:12:38 -05:00
Chris Farhood dbc1fb199b fix: correct settings JSX structure, update display name, improve params handling
- Fix extra closing Box tag in SettingsPage causing blank display
- Change display name from 'Sealed Secrets Plugin for Headlamp' to 'Sealed Secrets'
- Use default values for params to avoid undefined in hooks (fixes retry button issue)

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-13 10:12:38 -05:00
github-actions[bot] c63afb1461 chore: release v0.2.14 v0.2.14 2026-02-13 12:39:41 +00:00
Chris Farhood 3429b32625 chore: bump version to 0.2.14 2026-02-13 07:38:45 -05:00