Commit Graph

103 Commits

Author SHA1 Message Date
Chris Farhood fe37b4d424 fix(e2e): correct indentation of failureThreshold in readinessProbe YAML
YAML indentation was 2 levels deeper than siblings (14 spaces vs 12),
causing the key to be nested under httpGet instead of readinessProbe.
kubectl apply would silently accept this mis-structured manifest but
the probe configuration would be ignored at runtime.

PRI-907

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-06 21:07:06 +00:00
Chris Farhood 6c6cfc88f4 fix(e2e): add cluster diagnostics to deploy step for faster triage
Add pre-deployment node/namespace/resource diagnostics and wrap
kubectl apply in explicit error handling with cluster state dump on
failure. This gives us actionable output in the GitHub Actions logs
when the Deploy E2E step fails, instead of a silent exit code.

PRI-956

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-06 18:30:43 +00:00
Chris Farhood 540f0a7890 fix e2e: add missing plugin-name input to plugin-e2e workflow
The rook plugin E2E workflow was calling the reusable plugin-e2e workflow
without the required plugin-name input. This caused the ConfigMap naming
and mount path to fall back to the headlamp-kube-vip defaults, breaking
E2E runs for the rook plugin.

Fix: pass plugin-name: rook to the reusable workflow.
2026-05-06 12:36:08 +00:00
Chris Farhood 3f93e71f28 fix(e2e): reference @main workflow after .github merge
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-05 17:43:54 +00:00
Chris Farhood 0d9f9d859a fix(e2e): use .first() to handle strict mode violations (PRI-699)
Similar to the kube-vip fix, /overview/i and /storage class/i can
match multiple headings. Using .first() to avoid strict mode violations.
2026-05-05 13:56:35 +00:00
Chris Farhood 61df61c691 fix(e2e): expand storage classes sidebar nav and relax plugin settings locator
The 'Storage Classes' link is nested under the Rook sidebar button, not
at the top level. Expand the Rook section before asserting visibility.
Also uses /rook/i case-insensitive regex and waits for the plugins list
to render before searching.
2026-05-05 13:04:45 +00:00
Chris Farhood 15d161c312 fix(e2e): use pnpm-capable workflow branch with namespace param 2026-05-05 12:21:22 +00:00
privilegedescalation-ceo[bot] edd4404e70 Merge pull request #49 from privilegedescalation/hugh/add-e2e-infra-rook-pri-640
Add E2E test infrastructure for rook plugin
2026-05-05 10:30:53 +00:00
privilegedescalation-ceo[bot] 7f1e27d5c8 Merge pull request #50 from privilegedescalation/gandalf/fix-e2e-pri-657
fix(e2e): add waitForSidebar helper and networkidle waits for reliability
2026-05-05 10:30:48 +00:00
Chris Farhood 8d2ec06e41 fix(e2e): add waitForSidebar helper and networkidle waits for reliability
Add waitForSidebar helper function with explicit sidebar visibility wait
and networkidle state to ensure page is fully loaded before assertions.
This addresses flaky E2E tests where elements were not consistently
found due to timing issues during page transitions.
2026-05-05 06:50:21 +00:00
Chris Farhood b6941756f7 Fix E2E workflow: use pnpm-capable reusable workflow branch
The reusable plugin-e2e.yaml@main lacks pnpm support. Switching to
the PR branch that has pnpm detector, Corepack setup, and pnpm commands.

Will revert to @main once PR #141 merges.

- PRI-619 E2E fix

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-05 06:10:19 +00:00
Chris Farhood 8a36950235 Add E2E test infrastructure for rook plugin
- playwright.config.ts with authenticated test projects
- e2e/auth.setup.ts authenticates via OIDC or token
- e2e/rook.spec.ts smoke tests for sidebar, overview page,
  storage classes navigation, and plugin settings
- scripts/deploy-e2e-headlamp.sh deploys Headlamp + rook in headlamp-dev
- scripts/teardown-e2e-headlamp.sh cleans up after tests
- e2e.yaml uses reusable workflow from .github repo
- @playwright/test ^1.58.2 devDep added

- PRI-640

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-05 05:14:41 +00:00
privilegedescalation-engineer[bot] 30a38e7ed0 CI: trigger on dev branch for development workflow (#48)
Co-authored-by: Chris Farhood <chris@farhood.org>
2026-05-04 21:19:26 +00:00
privilegedescalation-engineer[bot] 7ef6e7ee7b chore: update ArtifactHub namespace from privilegedescalation to headlamp (#47)
Co-authored-by: Chris Farhood <chris@farhood.org>
2026-05-04 21:19:12 +00:00
privilegedescalation-engineer[bot] 2e80c3f0ca fix: add markdownlint config to resolve CI failures (#46)
Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-05-04 20:02:43 +00:00
privilegedescalation-engineer[bot] 0af4096b4f fix: override lodash >=4.18.0 to patch code injection vulnerability (#38)
* fix: override lodash >=4.18.0 to patch code injection vulnerability

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

* Regenerate lockfile for lodash override

- Explicitly add lodash@4.18.1 to ensure override is respected
- Regenerated pnpm-lock.yaml with resolved lodash@4.18.1 (CVE fix)

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

* Remove stray lodash devDependency to fix CI EOVERRIDE

The previous commit added lodash@4.18.1 as a direct devDependency
alongside the overrides.lodash >=4.18.0 entry. npm (invoked by
headlamp-plugin build) rejects this with EOVERRIDE because the
override conflicts with a direct dependency. The override alone is
sufficient to drive lodash resolution; remove the direct dep and
regenerate the lockfile.

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 03:23:43 +00:00
privilegedescalation-engineer[bot] d44ae043c3 fix: update vite to >=6.4.2 to patch arbitrary file read vulnerability (#37)
Vite versions >=6.0.0 <=6.4.1 are vulnerable to arbitrary file read via
the Vite Dev Server WebSocket (server.fs.deny bypass with queries).

CVE: GHSA-p9ff-h696-f583

Co-authored-by: Gandalf the Greybeard <gandalf@privilegedescalation.dev>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 17:44:08 +00:00
privilegedescalation-engineer[bot] 39ed3ea90a release: v1.0.2 (#36)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-15 04:00:27 +00:00
privilegedescalation-ceo[bot] d096a6c70c fix: correct artifacthub-pkg.yml checksum on main for v1.0.1
Co-authored-by: privilegedescalation-ceo[bot] <269721483+privilegedescalation-ceo[bot]@users.noreply.github.com>
2026-04-15 03:51:02 +00:00
privilegedescalation-engineer[bot] 4e5d1a2157 fix: pass pr_number to dual-approval-check workflow (#31)
Companion PR to privilegedescalation/.github#81

Co-authored-by: Hugh Hackman <hugh@paperclip.ing>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-04-15 03:29:41 +00:00
privilegedescalation-ceo[bot] 1e82ef596a chore: add repository_dispatch trigger for automated release 2026-04-15 02:54:36 +00:00
privilegedescalation-ceo[bot] 24c166dd42 Merge pull request #34 from privilegedescalation/release/v1.0.1
release: v1.0.1 — fix ArtifactHub checksum
2026-04-15 02:21:20 +00:00
Gandalf the Greybeard 422f8e2e22 fix: update archive-url from v1.0.0 to v1.0.1 2026-04-14 23:33:25 +00:00
Pawla Abdul 7dfcfd5e46 chore: remove packageManager field to fix release workflow 2026-04-13 11:37:03 +00:00
Pawla Abdul 5a004c7066 release: v1.0.1 — fix ArtifactHub checksum 2026-04-13 11:09:03 +00:00
privilegedescalation-ceo[bot] 710eeb877e Merge pull request #29 from privilegedescalation/fix/add-package-manager-field
fix: add packageManager field to package.json
2026-03-24 22:46:03 +00:00
privilegedescalation-engineer[bot] f443c7f231 release: v1.0.0 (#28)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-24 22:31:35 +00:00
Gandalf the Greybeard d97d8f0892 fix: add packageManager field to package.json
pnpm/action-setup@v5 requires either a version key in the action config
or a packageManager field in package.json. Add the field to unblock the
release workflow.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 22:12:38 +00:00
privilegedescalation-ceo[bot] 2385d8b231 Merge pull request #24 from privilegedescalation/release/v1.0.0
release: rook v1.0.0
2026-03-24 22:01:26 +00:00
Gandalf the Greybeard eea39267ab fix(ci): add missing eslint/prettier/typescript devDeps, fix tsconfig types
Add eslint@^8.57.0, @headlamp-k8s/eslint-config@^0.6.0, prettier@^2.8.8,
typescript@~5.6.2 as explicit devDependencies. pnpm strict hoisting does
not expose transitive bins, so these must be direct deps.

Remove vite/client and vite-plugin-svgr/client from tsconfig types; these
are transitive deps pnpm does not hoist and polaris plugin omits them.
2026-03-24 21:48:51 +00:00
Gandalf the Greybeard c84c05e961 release: prepare v1.0.0
- Bump version from 0.2.8 to 1.0.0 in package.json
- Add missing devDependencies (vitest, @testing-library/react, @testing-library/jest-dom, @testing-library/user-event, jsdom, react, react-dom, @types/react, @types/react-dom, react-router-dom, @mui/material, notistack) so test suite runs in CI
- Add define block for process.env.NODE_ENV in vitest.config.mts for jsdom/React 18 compatibility
- Switch from package-lock.json to pnpm-lock.yaml (pnpm as canonical package manager)
- Update artifacthub-pkg.yml to v1.0.0 with updated archive-url and changes block
- Update CHANGELOG.md with [1.0.0] entry and updated comparison links

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 21:29:13 +00:00
privilegedescalation-ceo[bot] 5758845514 Merge pull request #23 from privilegedescalation/feat/renovate-extend-org-config
feat: extend Renovate config from org-level preset
2026-03-24 18:46:04 +00:00
Hugh Hackman 763d993eef feat: extend Renovate config from org-level preset
Replaces the duplicated Renovate config with a simple extend from the
org-level preset (privilegedescalation/.github:renovate-config). All
rules (schedule, pinDigests, npm/github-actions minor+patch+major groups)
are now inherited from the org config, which was updated in PR #66 to add
major-version update rules for GitHub Actions.

This eliminates config drift between repos and reduces maintenance toil —
future rule changes only need to be made in one place.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 16:16:38 +00:00
privilegedescalation-ceo[bot] 9b6f8f0cbf Merge pull request #22 from privilegedescalation/chore/renovate-pin-digests
chore(renovate): add pinDigests for GitHub Actions SHA pinning
2026-03-22 11:06:41 +00:00
privilegedescalation-engineer[bot] 2dda82a6e4 chore(renovate): add pinDigests to ensure SHA pinning for GitHub Actions
The org renovate-config.json (PR #63) adds pinDigests: true at the org level,
but this repo extends config:recommended directly. Adding pinDigests: true here
ensures GitHub Actions are pinned to full commit SHAs regardless of whether the
org config is extended.

Related: privilegedescalation/.github#63, PRI-757
2026-03-22 07:16:09 +00:00
privilegedescalation-ceo[bot] 55049a14aa Merge pull request #21 from privilegedescalation/feat/dual-approval-status-check
ci: add dual-approval status check (CTO + QA)
2026-03-22 04:12:34 +00:00
privilegedescalation-engineer[bot] b9a351f53d ci: add dual-approval caller workflow
Calls the shared privilegedescalation/.github dual-approval-check
reusable workflow to enforce CTO + QA approval as a GitHub status check.

Once privilegedescalation/.github#47 is merged, this status check can
be added to required_status_checks in branch protection.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 23:55:52 +00:00
privilegedescalation-paperclip[bot] eb741ea2f4 ci: pass GitHub App token secrets to release workflow (#20)
The shared release workflow now requires RELEASE_APP_ID and
RELEASE_APP_PRIVATE_KEY secrets for PR creation, since the org
blocks GITHUB_TOKEN from creating PRs.

Depends on privilegedescalation/.github#31

Co-authored-by: privilegedescalation-paperclip[bot] <268365651+privilegedescalation-paperclip[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 13:24:40 +00:00
privilegedescalation-paperclip[bot] 96366578d9 Merge pull request #19 from privilegedescalation/release/v0.2.8
release: v0.2.8
2026-03-19 21:50:53 +00:00
github-actions[bot] 6836f75440 release: v0.2.8 v0.2.8 2026-03-19 21:40:05 +00:00
privilegedescalation-paperclip[bot] 8a154a305a fix: add pull-requests write permission to release workflow (#18)
The reusable release workflow declares pull-requests:write but the
caller didn't grant it, causing startup_failure on GitHub Actions.

Co-authored-by: Hugh Hackman [bot] <hugh-hackman[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 21:33:12 +00:00
null-pointer-nancy[bot] 4aca284eca Merge pull request #17 from privilegedescalation/fix/dep-security-overrides-tar-undici
fix: add npm overrides for tar and undici security advisories
2026-03-18 23:14:07 +00:00
Hugh Hackman e7f6feea9e fix: add npm overrides for tar and undici security advisories
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 22:55:46 +00:00
dependabot[bot] f1d45f85b2 chore(deps-dev): bump rollup from 4.57.1 to 4.59.0 (#15)
Bumps [rollup](https://github.com/rollup/rollup) from 4.57.1 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.57.1...v4.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-18 02:42:45 +00:00
hugh-hackman[bot] 7dc68efb6d Merge pull request #13 from privilegedescalation/dependabot/npm_and_yarn/multi-770cfcd984
chore(deps): bump minimatch
2026-03-18 02:33:02 +00:00
hugh-hackman[bot] 44bc14302e Merge pull request #12 from privilegedescalation/dependabot/npm_and_yarn/tar-7.5.11
chore(deps-dev): bump tar from 7.5.9 to 7.5.11
2026-03-18 02:33:00 +00:00
hugh-hackman[bot] 6d13454bea Merge pull request #14 from privilegedescalation/dependabot/npm_and_yarn/undici-7.24.4
chore(deps-dev): bump undici from 7.22.0 to 7.24.4
2026-03-18 02:32:13 +00:00
hugh-hackman[bot] 474ff1a8ba Merge pull request #11 from privilegedescalation/dependabot/npm_and_yarn/multi-0d13b2d87f
chore(deps): bump serialize-javascript and terser-webpack-plugin
2026-03-18 02:32:06 +00:00
dependabot[bot] 673274dc8c chore(deps-dev): bump undici from 7.22.0 to 7.24.4
Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 02:07:14 +00:00
dependabot[bot] 21313438bf chore(deps): bump minimatch
Bumps  and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together.

Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimatch` from 9.0.5 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 02:07:07 +00:00