Change runs-on in renovate-app-token.yaml and renovate.yaml workflows
from runners-privilegedescalation to ubuntu-latest.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
* chore(e2e): delete all E2E files and cleanup
Delete all E2E test infrastructure from the repository:
- scripts/deploy-e2e-headlamp.sh
- scripts/teardown-e2e-headlamp.sh
- .github/workflows/e2e.yaml
- playwright.config.ts
- e2e/ directory (auth.setup.ts, kube-vip.spec.ts)
Also removed e2e and e2e:headed scripts from package.json and removed
@playwright/test devDependency.
Context: [PRI-1133](https://github.com/privilegedescalation/paperclip-internal/issues/PRI-1133) — full E2E purge across org.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
* fix: update pnpm-lock.yaml after E2E deletion
Remove @playwright/test dependencies after E2E infrastructure cleanup.
Resolves ERR_PNPM_OUTDATED_LOCKFILE on PR.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
* Add self-hosted Renovate runner workflow
Creates .github/workflows/renovate.yaml using renovatebot/github-action
with a GitHub App token on a weekly schedule. Extends the shared
renovate-config from the privilegedescalation/.github repository.
Part of PRI-413
Co-Authored-By: Paperclip <noreply@paperclip.ing>
---------
Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
CI triggers on dev/uat/main. Promotion gate replaces dual-approval.
Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
* chore(e2e): delete all E2E files and cleanup
Delete all E2E test infrastructure from the repository:
- scripts/deploy-e2e-headlamp.sh
- scripts/teardown-e2e-headlamp.sh
- .github/workflows/e2e.yaml
- playwright.config.ts
- e2e/ directory (auth.setup.ts, kube-vip.spec.ts)
Also removed e2e and e2e:headed scripts from package.json and removed
@playwright/test devDependency.
Context: [PRI-1133](https://github.com/privilegedescalation/paperclip-internal/issues/PRI-1133) — full E2E purge across org.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
* fix: update pnpm-lock.yaml after E2E deletion
Remove @playwright/test dependencies after E2E infrastructure cleanup.
Resolves ERR_PNPM_OUTDATED_LOCKFILE on PR.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
---------
Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
* fix(ci): guard dual-approval job against null pull_request context
When triggered by pull_request_review events, github.event.pull_request
is undefined, which can cause issues when the job tries to access
github.event.pull_request.number. Add a job-level if guard to prevent
the job from running in these conditions.
This addresses the dual approval failures seen on feature branches where
the workflow was running without a valid PR context.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
* fix(e2e): use pnpm-capable workflow branch
Reference @hugh/add-pnpm-support-plugin-e2e which has pnpm support via corepack.
PRI-634
* fix(e2e): use pnpm-capable workflow branch
Reference @hugh/add-pnpm-support-plugin-e2e which has pnpm support via corepack.
PRI-634
* Update e2e.yaml to use @main and pass plugin-name
Use @main workflow ref and add plugin-name input so the
reusable workflow can derive ConfigMap name and mount path.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
---------
Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
workflow_call reusable workflow that exposes a GitHub App installation
token. Mend Renovate will use this token to push commits.
Refs: PRI-413
Co-authored-by: Chris Farhood <chris@farhood.org>
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>
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>
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>
Configures the reusable release workflow to fetch the latest release
tag from kube-vip/kube-vip and set appVersion in artifacthub-pkg.yml.
This keeps our Artifact Hub listing in sync with the upstream project.
Self-hosted runner does not have gh CLI installed, causing
"gh: command not found" in the Create GitHub Release step.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
headlamp-plugin package already produces the tarball named
${PKG_NAME}-${VERSION}.tar.gz, so the mv was renaming the file
to itself and failing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Headlamp plugin providing visibility into kube-vip virtual IP and load
balancer deployments. Features:
- Overview dashboard with deployment status, VIP mode, leader election
- Services page with LoadBalancer VIP assignments and detail panels
- Nodes page showing kube-vip pod status and leader designation
- Configuration page with DaemonSet config, IP pools, leases
- Service detail section injected into native Headlamp Service views
Read-only plugin — no cluster write operations. Uses standard K8s
resources (no CRDs): Services, Nodes, Pods, DaemonSets, Leases,
ConfigMaps with kube-vip.io/* annotations.
74 tests across 7 test files. All tsc/lint/format/test checks pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>